Macro copier coller a la suite
Résolu
mickysor
-
Patrice33740 Messages postés 8561 Date d'inscription Statut Membre Dernière intervention -
Patrice33740 Messages postés 8561 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai une macro comme ceci:
Sub FD()
'
' FD Macro
' Macro enregistr?e le 07/04/2011 par sor
'
'
Range("A59:A76").Select
Range("A76").Activate
Selection.Copy
Sheets("FD").Select
Range("A65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Sheets("Reponse Export").Select
ActiveWindow.SmallScroll Down:=-36
End Sub
cette ligne de code:
Range("A65536").End(xlUp).Offset(1, 0).Select
me permet d'aller à la dernière cellule puis de rajouter le contenu des cellules entre A59:A76.
ce que je ne comprends pas c'est que je sélectionne sur la même feuille un tableau que je recopies avec cette macro alors les cellules qui sont vides il ne les prends pas en compte,tandis que je sélectionne un autre tableau et je le recopies avec une autre macro du même type la par contre il me prends en compte les cellules vides alors que je ne veux pas!
c'est pas évident a vous expliquer.
je vous ai envoyé en pièce jointe un tableau excel.
http://www.cijoint.fr/cjlink.php?file=cj201104/cijeTcChIZ.xls
dans ce tableau vous avez le bouton "Copie 1" (vous cliquez une fois puis ensuite une deuxième fois dessus)
ensuite vous allez sur l'onglet "FD" pour regarder les résultats de ma macro
Maintenant vous faites la même chose mais avec le bouton "Copie 2"
Et vous verrez que le résultat est totalement différent alors que j'utilises le même type de macro!
j'ai une macro comme ceci:
Sub FD()
'
' FD Macro
' Macro enregistr?e le 07/04/2011 par sor
'
'
Range("A59:A76").Select
Range("A76").Activate
Selection.Copy
Sheets("FD").Select
Range("A65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Sheets("Reponse Export").Select
ActiveWindow.SmallScroll Down:=-36
End Sub
cette ligne de code:
Range("A65536").End(xlUp).Offset(1, 0).Select
me permet d'aller à la dernière cellule puis de rajouter le contenu des cellules entre A59:A76.
ce que je ne comprends pas c'est que je sélectionne sur la même feuille un tableau que je recopies avec cette macro alors les cellules qui sont vides il ne les prends pas en compte,tandis que je sélectionne un autre tableau et je le recopies avec une autre macro du même type la par contre il me prends en compte les cellules vides alors que je ne veux pas!
c'est pas évident a vous expliquer.
je vous ai envoyé en pièce jointe un tableau excel.
http://www.cijoint.fr/cjlink.php?file=cj201104/cijeTcChIZ.xls
dans ce tableau vous avez le bouton "Copie 1" (vous cliquez une fois puis ensuite une deuxième fois dessus)
ensuite vous allez sur l'onglet "FD" pour regarder les résultats de ma macro
Maintenant vous faites la même chose mais avec le bouton "Copie 2"
Et vous verrez que le résultat est totalement différent alors que j'utilises le même type de macro!
A voir également:
- Macro copier coller a la suite
- Historique copier coller - Guide
- Style d'écriture a copier coller - Guide
- Copier-coller - Accueil - Informatique
- Copier coller pdf - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
7 réponses
en fait j'ai compris il me recopie les formules vides mais comment faire pour qu'il ne tienne pas compte les formules vides!
Ne pas fusionner les cellules !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re,
Essaie cette macro (à la place de copie2) :
Essaie cette macro (à la place de copie2) :
Sub copie2() Dim Cell1 As Range Dim Cell2 As Range Dim Cell3 As Range Set Cell1 = Range("D22") Set Cell2 = Columns("D:D").Find("*", , xlValues, , , xlPrevious) Set Cell3 = Worksheets("FD").Columns("C:C").Find("*", , xlValues, , , xlPrevious).Offset(1) Range(Cell1, Cell2).Copy Cell3.PasteSpecial Paste:=xlPasteValuesAndNumberFormats Application.CutCopyMode = False End Sub