[Excel][VBA] comment copier...

gilles -  
 Philippe -
hello, comment copier (sous forme de macro) une donnée- situé ds une cellule (tjrs la meme)- dans la 1ere cellule vide d'une colonne ou existe déja une serie de données.

Ca va en faire marrer bcp, mais vba et moi ...
Merci à toutes et tous

4 réponses

  1. zagor5 Messages postés 187 Statut Membre 32
     
    Pour attribuer le contenu d'une cellule à une autre tu fais :

    Cells(ligneDestination, colonneDestination) = Cells(ligneSource, colonneSource)


    Ceci attribue le contenu de la cellule avec les coordonées ligneSource et colonneSource à la cellule de destination.

    Après du garde les variables sources et tu modifies celles de destinations pour copier la même valeur dans plusieurs cellules.

    Plus ça rate, plus on a de chances que ça marche.
    0
  2. gilles
     
    merci zagor mais je pense pas que ce soit "aussi compliqué", imaginons qu'en A1 j'ai un chiffre qui change de temps en temps , et quand il change je veut que en actionant ma macro ce chiffre soit mis ds une colonne a la suite d' autres chiffres

    Merci en tt cas
    0
  3. Philippe
     
    Salut,

    Essaie ça :

    Valeur = Range("A1").Value

    ' si colonne où stocker la valeur = C
    If Range("C1").Value= "" Then
    Range("C1").Value = Valeur
    Else
    If Range("C2").Value = "" Then
    Range("C2").Value = Valeur
    Else
    Range("C1").End(xldown).Offset(1,0).Value = Valeur
    Endif
    Endif

    :-)

    Philippe.
    0
    1. gilles
       
      Merci philippe , qd je lance la macro , j'ai un message qui bogge sur end if et qui dit qu'il attend "end sub" et qd je change en end sub il dit "erreur de compilation bloc If sans End If" pour moi c'est du mandarin doublé de cantonnais ....
      0
      1. Philippe > gilles
         
        c'est End If, pas Endif.
        Désolé...

        Philippe.
        0
  4. Philippe
     
    la procédure complète :

    Sub Test()
    Dim Valeur As String

    Valeur = Range("A1").Value

    ' si colonne où stocker la valeur = C
    If Range("C1").Value = "" Then
    Range("C1").Value = Valeur
    Else
    If Range("C2").Value = "" Then
    Range("C2").Value = Valeur
    Else
    Range("C1").End(xlDown).Offset(1, 0).Value = Valeur
    End If
    End If
    End Sub

    J'ai testé. Ca marche!
    0