[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

zagor5 Messages postés 187 Date d'inscription   Statut Membre Dernière intervention   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
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
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
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
Philippe > gilles
 
c'est End If, pas Endif.
Désolé...

Philippe.
0
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