mkt2001
Messages postés7Date d'inscriptionlundi 3 février 2003StatutMembreDernière intervention10 mai 2005
-
15 mars 2005 à 16:35
ramontac
Messages postés9Date d'inscriptionjeudi 22 avril 2004StatutMembreDernière intervention17 mars 2005
-
17 mars 2005 à 02:20
Bonjour a tous,
J'ai un petit problème, je travaille avec excel et VBA et j'ai un tableau de ce style:
A B C D
1 ww xx yy zz
2 yy zz
3 aa bb cc dd
4 bb cc dd
(J'espere que ca donnera pas trop mal)
Je voudrai parcourir le tableau cellule par cellule et chaque fois qu'une cellule est vide, je voudrai la remplir avec la valeur de la cellule du dessus. (ex en A2 --> ww et en A4 --> aa)
Je ne sais pas trop comment faire...
Deux boucles for p-etre??
Merci d'avance pour votre aide...
ramontac
Messages postés9Date d'inscriptionjeudi 22 avril 2004StatutMembreDernière intervention17 mars 2005 15 mars 2005 à 22:05
Salut,
Bon pour l'algorithme c'est pas trop compliqué
Comme tu l'as deviné il te faut deux boucles imbriquées puisque c'est un tableau à deux dimensions
Moi je te conseil de de parcourir colonne par colonne et sauvegarder la valeur précedemment analysé
Donc ca donne un truc de ce style tu verifiera la syntaxe
Dim ijprec
For i = A To B 'Deroule les colonnes
valprec = "" 'La variable doit a chaque fois etre initialisée
For j = 1 To 4 'Deroule les lignes
If ij = "" then
ij = valprec 'Si la case est libre on lui affecte la valeur précedente
End if
valprec = ij 'Sauvegarde de la valeur de la case
Next j
Next i
Voila reste a refaire la syntaxe pour ton appli et ca marche
mkt2001
Messages postés7Date d'inscriptionlundi 3 février 2003StatutMembreDernière intervention10 mai 2005 16 mars 2005 à 08:29
Merci Ramontac, il ne me reste plus que un problème à résoudre:
Pour l'exemple j'ai mis 4 lignes et 4 colonnes mais cette zonne de travail peux varier à chaque éxécution. Comment pourait-ont faire pour que les deux boucles 'for' en tiennent compte. J4ai éssayer un truc du genre :
For i = 0 To Columns.Count
For j = 112 To Rows.Count
...
Mais ce systeme passe en revue les 65535 lignes et toutes les colonnes de la feuille!