[Excel][VBA] comment copier...

Fermé
gilles - 28 mai 2004 à 17:25
 Philippe - 28 mai 2004 à 20:06
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
A voir également:

4 réponses

zagor5 Messages postés 187 Date d'inscription lundi 3 février 2003 Statut Membre Dernière intervention 21 octobre 2005 32
28 mai 2004 à 18:16
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
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
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
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
28 mai 2004 à 19:54
c'est End If, pas Endif.
Désolé...

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