VBA atteindre prochaine cellule vide Excel

Résolu/Fermé
SAEkuki - 25 août 2009 à 15:25
 SAEkuki - 26 août 2009 à 10:49
Bonjour,
Je suis sous VBA excel.
J'ai une valeur en mémoire (provenant d'un copier) et je souhaiterai la coller dans un tableau excel (colonne C), à la prochaine cellule vide en partant du haut.
Je pense utiliser clipboard.GetText pour la valeur en mémoire

Ca donnerai :

Range("C1").Select
Do While Not (IsEmpty (ActiveCell))
.....
loop

...après heuuuuu

Merci

3 réponses

melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
26 août 2009 à 09:37
Bonjour,

voici le code

sub macro
dim i,j, a as string

a=cells(1,1)
i=1
j=1

Do While cells(i,j)<>""
i=i+1
loop

cells(i,j) =a

end sub

mets ta valeur dans une variable et dès que la cellule est vide, celle ci sera égale à la variable
0
Merci, j'essaye de comprendre :

Cells, c'est la cellule de départ, ici A1 ?
Dans ton code, est ce que ça veut dire que la recherche de la première cellule vide se fait sur la ligne 1, il vérifie colonne par colonne ?
Je ne comprends pas Cells(i, j) = a ??
Merci

a = Cells(1, 1)
i = 1
j = 1

Do While Cells(i, j) <> ""
i = i + 1
Loop

Cells(i, j) = a
0
melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
26 août 2009 à 10:05
Re,

i et j sont des variables et tel écrit sont égales à 1.
i correspond à la ligne
j correspond à la colonne
quand je fais boucle, je descends de ligne en ligne

a est aussi une variable

dans mon cas a est égale à la cellule qui correspond au croisement de la 1ère ligne et de la première colonne

je prends cette valeur.

cells(i,j) = a, ca veut dire que lacellule dont la ligne est égale à i et la colonne égale à j aura pour valeur ce qu'il y a dans a

pour l'executer mets en parallèle visual basic et excel et appuies sur f8 tout sera clair après
0
J'ai suivi tes instructions, ça donne ça et sa marche... Merci


sFileName = Trim$(.GetDisplayText(4, 11, 19))


a = Cells(17, 2)
i = 17
j = 2

Do While Cells(i, j) <> ""
i = i + 1
Loop

Cells(i, j) = sFileName
0