Copier-Coller décaler vers le droite si cellule pleine

  • Initiateur de la discussion Initiateur de la discussion Tekdri583
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

T

Tekdri583

Guest
Bonjour,

Je dois quotidiennement, copier-coller la colonne J de la feuille "EUR" dans la 1ère colonne vide à droite. Ainsi, tous les jours, les valeurs sont enregistrés dans une nouvelle colonne et ainsi, je créés un historique des valeurs.

J'ai donc pensé à créer une macro. Mon problème est que je n'arrive pas à lui dire de coller les valeurs dans la 1ère colonne vide. Avec ce que j'ai écris ci-dessous, il me coller toujours les valeurs dans la colonne BB.

Sub Macro1()

' Macro1 Macro
' Macro enregistrée le 21.07.2010 par WM
'
' Touche de raccourci du clavier: Ctrl+u


'
'Copier Colonne J de la feuille EUR
Sheets("EUR").Select
Application.Run "BLPLinkReset"
Columns("J:J").Select
Selection.Copy


'Coller dans la derière colonne vide de la feuille EUR
Range("BB1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False


'Modifier format des cellules collées
Columns("BA:BA").Select
Application.CutCopyMode = False
Selection.Copy
Columns("BB:BB").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
ActiveWindow.SmallScroll ToRight:=1


End Sub

Avez-vous la solution?

merci

Stéphane
 
Re : Copier-Coller décaler vers le droite si cellule pleine

Oui, cela se fait avec les End(xlToLeft).Offset(0, 1).
ainsi il va trouver la dernière colonne pleine, et va écrire dans la suivante (soit la 1ère colonne vide).
Mets un fichier si tu veux que je te montre en "vrai"

Tibo
 
Re : Copier-Coller décaler vers le droite si cellule pleine

Bonjour,
Code:
Sub Macro1()
Dim T, dc%
'Application.Run "BLPLinkReset" '????
With Sheets("EUR")
    'si la dernière colonne est non vide on quitte...ici v2000 = 256 colonnes
    'If .Cells(1, 256) <> "" Then Exit Sub
    T = .Range("J1:J" & .Range("J65000").End(xlUp).Row).Value
    dc = .Range("IV1").End(xlToLeft).Column + 1
    .Range(.Cells(1, dc), .Cells(UBound(T), dc)) = T
End With
End Sub
Reste à définir la mise en forme en évitant le copier/coller
A+
kjin
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
18
Affichages
597
Réponses
10
Affichages
791
Réponses
2
Affichages
398
Réponses
17
Affichages
1 K
Retour