VBA Copier / coller dans les premières cellules vides

Franh Sois

XLDnaute Nouveau
Bonjour à tous,

Je ne parviens pas à trouver la solution à mon problème.

Je m'explique; je cherche à copier deux cellule (N9 et 09) dans un autre tableau qui est situé sur la même feuille.
Pour l'instant j'arrive à faire cela avec ce code :

Sub copiercoller()
'
' copiercoller Macro
'
Range("N9:O10").Select

Selection.Copy
Range("AM3:AM4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

End Sub

Mais le problème c'est que les valeurs dans les cellules source (N9 et O9) peuvent changer car ces valeurs correspondent à un nombre de postes identifiés pour des plans d'actions. DOnc c'est chiffre sont évolutif.

Mais je veux avoir un suivi des chiffres dans le deuxième tableau. Mais je ne parviens pas à coller les valeurs dans les cellules vide du dessous.

Savez-vous comment faire ?

Merci
Francois
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour François, bonjour le forum,

Essaie comme ça :

VB:
Sub copiercoller()
Dim DEST As Range

Set DEST = IIf(Range("AM3").Value = "", Range("AM3"), Cells(Application.Rows.Count, "AM").End(xlUp).Offset(1, 0))
Range("N9:O10").Copy
DEST.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End Sub
la règle d'or s'est d'éviter autant que tu le peux les Select inutiles qui ne font que ralentir l'exécution du code et sont source de plantage...
 

Franh Sois

XLDnaute Nouveau
Bonjour,

Je voulais ajouter dans la colonne AO la date à laquelle j'envoie les données. (pour créer ensuite un graphique avec en abscisse la date)
Existe t-il une formule ou je dois passer par une macro?

Au départ j'avais pensé à la fonction =AUJOURDHUI() mais forcement ca ne fonctionne pas car il me donne la date du jour. o_O

Merci
François
 

Robert

XLDnaute Barbatruc
Repose en paix
Re,

Essaie comme ça :

VB:
Sub copiercoller()
Dim DEST As Range

Set DEST = IIf(Range("AM3").Value = "", Range("AM3"), Cells(Application.Rows.Count, "AM").End(xlUp).Offset(1, 0))
Range("N9:O10").Copy
DEST.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
DEST.Offset(0, 2).value  = Date
End Sub
 

Discussions similaires

Réponses
6
Affichages
391

Statistiques des forums

Discussions
312 145
Messages
2 085 761
Membres
102 965
dernier inscrit
Mael44