[vba excel] aide sur code
antic80
Messages postés
4877
Statut
Contributeur
-
antic80 Messages postés 4877 Statut Contributeur -
antic80 Messages postés 4877 Statut Contributeur -
Bonjour,
j'aimerais faire une fonction en vba qui permet de parcourir un tableau dont la longueur n'est jamais fixe pour tout d'abord récuperer la date qui se trouve dans la 1ere colonne puis récuperer les données de la ligne dans un autre tableau.
le code doit faire ca pour toute les lignes. si la date est la meme les données de la ligne suivante doivent s'ajouter aux données précédente.
je ne vois pas trop comment faire
j'aimerais faire une fonction en vba qui permet de parcourir un tableau dont la longueur n'est jamais fixe pour tout d'abord récuperer la date qui se trouve dans la 1ere colonne puis récuperer les données de la ligne dans un autre tableau.
le code doit faire ca pour toute les lignes. si la date est la meme les données de la ligne suivante doivent s'ajouter aux données précédente.
je ne vois pas trop comment faire
A voir également:
- [vba excel] aide sur code
- Code ascii - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Comment trier par ordre alphabétique sur excel - Guide
- Code puk bloqué - Guide
3 réponses
Bonjour,
Pour parcourir le tableau, tu peux faire une boucle while qui teste si on arrive pas sur une cellule vide. (while not isempty(...))
Pour la suite un "if" sur la date est suffisant.
Pour parcourir le tableau, tu peux faire une boucle while qui teste si on arrive pas sur une cellule vide. (while not isempty(...))
Pour la suite un "if" sur la date est suffisant.
peut tu detailler un peu plus le code
sachant que dans mon tableau la premiere cellule a prendre en compte est A2 et que le tableau compte 7 colonnes
sachant que dans mon tableau la premiere cellule a prendre en compte est A2 et que le tableau compte 7 colonnes
en admettant que mon tableau se présente comme suit
18/02/2008 5
18/02/2008 5
18/02/2008 4
19/02/2008 6
j'ai fait ce code
Cells(2, 1).Select
finplage = Range("a2").End(xlDown).Row
For i = 2 To finplage
If Cells(i + 1, 1) = Cells(i, 1) Then
valeur = valeur + Cells(i, 1).Offset(0, 1).Value
MsgBox valeur
End If
Next i
mais le probleme c'est plutot que de me faire 5+5+4 ce code me fait 5+5+6
18/02/2008 5
18/02/2008 5
18/02/2008 4
19/02/2008 6
j'ai fait ce code
Cells(2, 1).Select
finplage = Range("a2").End(xlDown).Row
For i = 2 To finplage
If Cells(i + 1, 1) = Cells(i, 1) Then
valeur = valeur + Cells(i, 1).Offset(0, 1).Value
MsgBox valeur
End If
Next i
mais le probleme c'est plutot que de me faire 5+5+4 ce code me fait 5+5+6