VBA : copier coller
m
Bonjour,
Juste un bete problème de copier/coller entre 2 onglet qui ont exactement la même forme.
Mais là, franchement je ne vois pas l'erreur (message: la taille des cellules fusionnées doit être identique)
'Sélectionner l'onglet vdef de mois précédent
Sheets(2).Activate
'Selectionner la première cellule non vide de la colonne N, etendre la selection, ouvrir le dernier onglet, selection la première cellule non vide de la colonne A
Range("i10").Select
Range(Selection, "S10").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets(4).Activate
If Range("A2").Value = "" Then
Range("A2").Select
Else
Range("A1").End(xlDown).Offset(1, 0).Select
End If
' Coller la valeur des cellules copiées
Selection.PasteSpecial Paste:=xlPasteValues
' Coller le format des cellules copiées
Selection.PasteSpecial Paste:=xlPasteFormatsMerci d'avance
thevPassionné d'Excel
- Messages
- 4'199
- Excel
- 2021 FR 64 bits
- Inscrit
- 13/06/2016
- Emploi
- bénévole associations Goutte d'Or
Bonjour,
Essayer ce code :
Option Explicit
Sub copie()
Dim cell As Range, plage1 As Range, plage2 As Range
Dim prem_ligne_non_utilisée As Long
'déterminer la première cellule non vide de la colonne A
With Sheets(4)
Set cell = .Columns("A").Find(""): If cell Is Nothing Then Set cell = .Range("A1")
End With
'copier la plage I10 à S10 jusqu'à la dernière ligne utilisée
With Sheets(2)
With .UsedRange
prem_ligne_non_utilisée = .Row + .Rows.Count
End With
Set plage1 = .Range("I10:S10").Resize(prem_ligne_non_utilisée - 10)
With plage1
Set plage2 = cell.Resize(.Rows.Count, .Columns.Count)
End With
plage1.Copy
End With
' Coller la valeur des cellules copiées
plage2.PasteSpecial Paste:=xlPasteValues
' Coller le format des cellules copiées
plage2.PasteSpecial Paste:=xlPasteFormats
End SubNB : Les "Select" sont absolument inutiles.
m
Merci pour la solution....même si je ne l'ai pas utilisée.
Ca ne marchait pas, car j'avais modifié la place de la feuille de destination....Boulet inside
Par contre, je préfère inscrite les slect meme si c'est inutile car je ne comprends pas tout de ton codage.