VBA atteindre prochaine cellule vide Excel

Résolu
SAEkuki -  
 SAEkuki -
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
Configuration: Windows XP Internet Explorer 6.0

3 réponses

  1. melanie1324 Messages postés 1561 Statut Membre 156
     
    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
    1. SAEkuki
       
      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
  2. melanie1324 Messages postés 1561 Statut Membre 156
     
    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
  3. SAEkuki
     
    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