[VBA excel] Parcours d'une colonne
Résolu/Fermé
artoon_42
Messages postés
14
Date d'inscription
samedi 25 février 2012
Statut
Membre
Dernière intervention
29 avril 2012
-
25 févr. 2012 à 18:24
Le Pingou Messages postés 12184 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 11 novembre 2024 - 26 févr. 2012 à 15:33
Le Pingou Messages postés 12184 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 11 novembre 2024 - 26 févr. 2012 à 15:33
A voir également:
- [VBA excel] Parcours d'une colonne
- Déplacer une colonne excel - Guide
- Formule somme excel colonne - Guide
- Trier colonne excel - Guide
- Liste déroulante excel - Guide
- Figer une colonne excel - Guide
11 réponses
ccm81
Messages postés
10900
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
2 novembre 2024
2 425
Modifié par ccm81 le 25/02/2012 à 21:11
Modifié par ccm81 le 25/02/2012 à 21:11
bonjour
Date est une fonction qui renvoie comme résultat la date du système donc
D = Date, affectera à la variable D (de type date) la date du système
Date = Date n'est pas correct
supprimes déjà cette ligne et ça devrait aller mieux
il va de soi que
la colonne G est formatée avec l'un des formats date
la cellule L6 est au format nombre
bonne suite
Date est une fonction qui renvoie comme résultat la date du système donc
D = Date, affectera à la variable D (de type date) la date du système
Date = Date n'est pas correct
supprimes déjà cette ligne et ça devrait aller mieux
il va de soi que
la colonne G est formatée avec l'un des formats date
la cellule L6 est au format nombre
bonne suite
artoon_42
Messages postés
14
Date d'inscription
samedi 25 février 2012
Statut
Membre
Dernière intervention
29 avril 2012
25 févr. 2012 à 22:02
25 févr. 2012 à 22:02
J'ai corrigé mais maintenant il me dit Erreur '13': Incompatibilité de type
La colonne D est de type date et la colonne E est de type standard.
Private Sub Workbook_Open()
Dim i As Integer
i = 10
Do While (i < 99)
i = i + 1
If (Month(Range("G" & i).Value + Range("L6").Value) < Month(Date)) Then
Range("E" & i).Clear
Range("D" & i).Clear
End If
Loop
End Sub
La colonne D est de type date et la colonne E est de type standard.
Private Sub Workbook_Open()
Dim i As Integer
i = 10
Do While (i < 99)
i = i + 1
If (Month(Range("G" & i).Value + Range("L6").Value) < Month(Date)) Then
Range("E" & i).Clear
Range("D" & i).Clear
End If
Loop
End Sub
Le Pingou
Messages postés
12184
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
11 novembre 2024
1 448
25 févr. 2012 à 22:16
25 févr. 2012 à 22:16
Bonjour,
Pouvez-vous indiquer quel ligne de la procédure est surlignée ?
Pouvez-vous indiquer quel ligne de la procédure est surlignée ?
artoon_42
Messages postés
14
Date d'inscription
samedi 25 février 2012
Statut
Membre
Dernière intervention
29 avril 2012
25 févr. 2012 à 22:40
25 févr. 2012 à 22:40
J'ai modifier de nouveau
Private Sub Workbook_Open()
Dim i As Integer
i = 10
Do While (i < 99)
If (Month(DateAdd(d, Range("L6").Value, Range("G" & i).Value)) < Month(Date)) Then
Range("E" & i).Clear
Range("D" & i).Clear
End If
i = i + 1
Loop
End Sub
J'obtiens le message d'erreur : Erreur d'exécution '5: Argument ou appel de procédure incorrect sur la ligne du SI
Private Sub Workbook_Open()
Dim i As Integer
i = 10
Do While (i < 99)
If (Month(DateAdd(d, Range("L6").Value, Range("G" & i).Value)) < Month(Date)) Then
Range("E" & i).Clear
Range("D" & i).Clear
End If
i = i + 1
Loop
End Sub
J'obtiens le message d'erreur : Erreur d'exécution '5: Argument ou appel de procédure incorrect sur la ligne du SI
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Le Pingou
Messages postés
12184
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
11 novembre 2024
1 448
25 févr. 2012 à 22:49
25 févr. 2012 à 22:49
Bonjour,
J'ai testé cette procédure et c'est parfait (déclaration de variable modifier):
J'ai testé cette procédure et c'est parfait (déclaration de variable modifier):
Private Sub Workbook_Open() Dim i As Long i = 1 Do While (i < 99) i = i + 1 If (Month(Range("G" & i).Value + Range("L6").Value) < Month(Date)) Then Range("E" & i).Clear Range("D" & i).Clear End If Loop End Sub
artoon_42
Messages postés
14
Date d'inscription
samedi 25 février 2012
Statut
Membre
Dernière intervention
29 avril 2012
25 févr. 2012 à 23:17
25 févr. 2012 à 23:17
D'accord merci mais je vient de me rendre compte qu'il ne faut pas seulement que je compare les mois mais aussi les années pour éviter les problème
Private Sub Workbook_Open()
Dim i As Long
i = 10
Do While (i < 99)
If (DateSerial(Year(DateAdd(d, Range("L6").Value, Range("G" & i).Value)), Month(DateAdd(d, Range("L6").Value, Range("G" & i).Value)), 1) < DateSerial(Year(Date), Month(Date), 1)) Then
Range("E" & i).Clear
Range("D" & i).Clear
End If
i = i + 1
Loop
End Sub
Je reforme donc mes dates
mais la ligne du si me renvoi Erreur d'exécution '5: Argument ou appel de procédure incorrect .
Private Sub Workbook_Open()
Dim i As Long
i = 10
Do While (i < 99)
If (DateSerial(Year(DateAdd(d, Range("L6").Value, Range("G" & i).Value)), Month(DateAdd(d, Range("L6").Value, Range("G" & i).Value)), 1) < DateSerial(Year(Date), Month(Date), 1)) Then
Range("E" & i).Clear
Range("D" & i).Clear
End If
i = i + 1
Loop
End Sub
Je reforme donc mes dates
mais la ligne du si me renvoi Erreur d'exécution '5: Argument ou appel de procédure incorrect .
Le Pingou
Messages postés
12184
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
11 novembre 2024
1 448
25 févr. 2012 à 23:31
25 févr. 2012 à 23:31
Bonjour,
Eh bien qu'elle est exactement le critère de contrôle ?
Cela ne sert à rien de modifier la condition [If] sans avoir le critère exact.
Eh bien qu'elle est exactement le critère de contrôle ?
Cela ne sert à rien de modifier la condition [If] sans avoir le critère exact.
artoon_42
Messages postés
14
Date d'inscription
samedi 25 février 2012
Statut
Membre
Dernière intervention
29 avril 2012
25 févr. 2012 à 23:36
25 févr. 2012 à 23:36
Désolé,
Le critère de contrôle est la comparaison sur le mois et l'année entre la date courante et la date contenue dans une cellule de la colonne G à laquelle j'ajoute le contenue de la cellule L6 ; cette dernière doit être inférieur à la date courante pour entré dans le si.
Le critère de contrôle est la comparaison sur le mois et l'année entre la date courante et la date contenue dans une cellule de la colonne G à laquelle j'ajoute le contenue de la cellule L6 ; cette dernière doit être inférieur à la date courante pour entré dans le si.
Le Pingou
Messages postés
12184
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
11 novembre 2024
1 448
25 févr. 2012 à 23:51
25 févr. 2012 à 23:51
Bonjour,
Pour ce soir c'est la dernière.
Cette procédure :
Salutations.
Le Pingou
Pour ce soir c'est la dernière.
Cette procédure :
Private Sub Workbook_Open() Dim i As Long Dim critdate As Date critdate = DateSerial(Year(Date), Month(Date), 1) i = 1 Do While (i < 99) i = i + 1 If (Range("G" & i).Value + Range("L6").Value) > critdate Then Range("E" & i).Clear Range("D" & i).Clear End If Loop End Sub--
Salutations.
Le Pingou
artoon_42
Messages postés
14
Date d'inscription
samedi 25 février 2012
Statut
Membre
Dernière intervention
29 avril 2012
26 févr. 2012 à 00:29
26 févr. 2012 à 00:29
Merci beaucoup de votre aide.
Le Pingou
Messages postés
12184
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
11 novembre 2024
1 448
26 févr. 2012 à 15:33
26 févr. 2012 à 15:33
Bonjour,
Merci, vous aurez certainement remarqué que dans la condition j'ai inversé le symbole [>] au lieu de [<].
Salutations.
Le Pingou
Merci, vous aurez certainement remarqué que dans la condition j'ai inversé le symbole [>] au lieu de [<].
Salutations.
Le Pingou