Problème Incrémentation date avec combobox

vassili

XLDnaute Occasionnel
Bonjour le forum,

J'aurais voulu savoir comment il serait possible de lier les valeurs de la combobox1 avec les fonctions d'incrémentations.

Le processus marche pour la première valeur de la combobox1 mais pas pour les autres valeurs que je selectionne...

Voici le fichier joint:

Regarde la pièce jointe Classeur4.xls

Merci d'avance

Bien cordialement,

Vassili,
 

Pièces jointes

  • Classeur4.xls
    33 KB · Affichages: 43
  • Classeur4.xls
    33 KB · Affichages: 46

Pierrot93

XLDnaute Barbatruc
Re : Problème Incrémentation date avec combobox

Bonjour,

Le processus marche pour la première valeur de la combobox1 mais pas pour les autres valeurs que je selectionne
normal puisque tu recherches la valeur de ta combo à partir de A2, et que tu t'arrête dès que c'est autre chose....
Code:
Do While Range("A" & i) = UserForm1.ComboBox1.Value

regarde plutôt du coté de la méthode "find", à noter qu'il n'y a pas grand chose dans ton fichier, la colonne B n'étant pas sytèmaiquement renseignée, cela risque de compliquer l'affaire...

bonne journée
@+
 

vassili

XLDnaute Occasionnel
Re : Problème Incrémentation date avec combobox

Bonjour pierrot93,

Pourrai tu m'aiguiller sur la méthode find je ne sait pas trop comment faire pour que cela soit dynamique avec des combobox désolé :(.

Pour l'incrémentation, elle part de la première date de chaque première valeur situé en colonne A. J'ai fait une erreur en envoyant le fichier.

Voici le nouveau fichier ci-joint:

Regarde la pièce jointe Classeur4.xls

Merci et à bientot
 

Pièces jointes

  • Classeur4.xls
    32 KB · Affichages: 40
  • Classeur4.xls
    32 KB · Affichages: 40

vassili

XLDnaute Occasionnel
Re : Problème Incrémentation date avec combobox

Re,

J'ai fait une ébauche mais sa fonctionne toujours que pour la première valeur:

Voici le code:

Code:
Sub Décaler_de_1_mois()

  Dim Plage   As Range
  Dim Cellule As Range
  Dim Posit   As Long
  
  On Error Resume Next
  Set Plage = Sheets("Feuil1").Range(Cells(1, 1), Cells(65536, 1))
  For Each Cellule In Plage
    If Cellule.Value = UserForm1.ComboBox1.Value Then
      Posit = Application.WorksheetFunction.Find("A", Cellule.Value)
        Do While Range("A" & Posit) = Cellule.Value
            Cells(Posit, 2) = DateAdd("m", 1, Cells(Posit - 1, 2))
            Posit = Posit + 1
        Loop
        Exit Sub
      End If
  Next
  
End Sub

A bientot
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Problème Incrémentation date avec combobox

Bonjour,

regarde ceci, à adapter à ton projet final, rajoute 2 mois... mais une fois la totalité des cellules de la colonne B remplie, il ne se passera plus rien... :
Code:
Private Sub CommandButton1_Click()
Dim c As Range, p As String
With Sheets("Feuil1").Range("A1:A9")
    Set c = .Find(ComboBox1.Value, Range("A9"), xlValues, xlWhole, , , False)
    If Not c Is Nothing Then
        p = c.Address
        Do
            If IsEmpty(c.Offset(0, 1)) Then c.Offset(0, 1).Value = DateAdd("m", 2, c.Offset(-1, 1).Value)
            Set c = .FindNext(c)
        Loop While c.Address <> p
    End If
End With
End Sub

A noter qu'il serait sans doute préférable d'avoir une ligne d'en-tête, généralement les bases sont conçues ainsi...
 

vassili

XLDnaute Occasionnel
Re : Problème Incrémentation date avec combobox

Sa me met une erreur de type 424 objet requis sur la ligne ou il y a le find.

J'ai rajouté des entetes mais c'était juste pour un test c'est sa que ne les avait pas mises... Par contre vu que je n'aurait pas 9 lignes mais plutot 2000 environs j'ai mis le range jusqu'a 65536.

Regarde la pièce jointe Classeur4.xls

Merci, a bientot
 

Pièces jointes

  • Classeur4.xls
    39.5 KB · Affichages: 45
  • Classeur4.xls
    39.5 KB · Affichages: 43

Pierrot93

XLDnaute Barbatruc
Re : Problème Incrémentation date avec combobox

Re,

normal, comme tu n'as pas placé le code dans le module de l'usf, lobjet combo n'est pas reconnu, il faut préciser le nom de l'usf devant :
Code:
.Find(UserForm1.ComboBox1.Value, Range("A65536"), xlValues, xlWhole, , , False)
 

vassili

XLDnaute Occasionnel
Re : Problème Incrémentation date avec combobox

Merci beaucoup Pierrot93 sa marche trés bien :), j'ai fait une erreur d'inattention j'aurait du le voir :(...

Par contre pourrait tu me mettre des petits commentaires sur le code comme sa j'apprend en même temps ;)

Je te remercie d'avance
 

vassili

XLDnaute Occasionnel
Re : Problème Incrémentation date avec combobox

Re,

Et bien c'est les instructions suivantes que je ne sait pas utiliser:

-Is Empty
-Is nothing
-Not
-Adress
-loop while

J'ai pas compris non plus la variable p comment tu l'utilise avec l'objet adress
 

Discussions similaires

Réponses
21
Affichages
321

Membres actuellement en ligne

Statistiques des forums

Discussions
312 348
Messages
2 087 508
Membres
103 568
dernier inscrit
NoS