XL 2010 copier et coller vers autre page et à la suite

  • Initiateur de la discussion Initiateur de la discussion Hafi.alaoui
  • 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 !

Hafi.alaoui

XLDnaute Junior
Bonjour
merci de m'aider de trouver un code
pour copier des cellules feuil1🙁"C8:E19") vers feuil2, et incrémenter la suite feuil1🙁"C8:E19")vers feuil2 après un clearcontent du feuil1
merci
 

Pièces jointes

Bonjour,

Voici, si j'ai bien tout compris, car il est assez difficile de faire moins clair comme demande...
VB:
Option Explicit

Sub copie()
Dim f As Worksheet, f1 As Worksheet, i As Byte, j As Byte

Set f = Sheets("Feuil1")
Set f1 = Sheets("Feuil2")

j = f1.Cells(Rows.Count, 3).End(xlUp).Offset(1, 0).Row
For i = 8 To f.Cells(Rows.Count, 3).End(xlUp)
    If f.Cells(i, 3) <> "" Then
        f1.Cells(j, 2) = f.Cells(i, 2)
        f1.Cells(j, 3) = f.Cells(i, 3)
        f1.Cells(j, 4) = f.Cells(i, 4)
        f1.Cells(j, 5) = f.Cells(i, 5)
        j = j + 1
    End If
Next i
End Sub

A+
 

Pièces jointes

Bonjour,

Voici, si j'ai bien tout compris, car il est assez difficile de faire moins clair comme demande...
VB:
Option Explicit

Sub copie()
Dim f As Worksheet, f1 As Worksheet, i As Byte, j As Byte

Set f = Sheets("Feuil1")
Set f1 = Sheets("Feuil2")

j = f1.Cells(Rows.Count, 3).End(xlUp).Offset(1, 0).Row
For i = 8 To f.Cells(Rows.Count, 3).End(xlUp)
    If f.Cells(i, 3) <> "" Then
        f1.Cells(j, 2) = f.Cells(i, 2)
        f1.Cells(j, 3) = f.Cells(i, 3)
        f1.Cells(j, 4) = f.Cells(i, 4)
        f1.Cells(j, 5) = f.Cells(i, 5)
        j = j + 1
    End If
Next i
End Sub

A+
Bonjour
merci pour votre réponse
c'est juste ce que je veux.
bonne journée
Cdt
YAHYA
 
Bonsoir le fil,

Calvus 😉
je me suis permis un petit lifting
VB:
Sub copie()
Dim f As Worksheet, f1 As Worksheet, i As Byte, j As Byte
Set f = Sheets("Feuil1")
Set f1 = Sheets("Feuil2")
j = f1.Cells(Rows.Count, 3).End(xlUp).Offset(1, 0).Row
For i = 8 To f.Cells(Rows.Count, 3).End(xlUp).Row
    If f.Cells(i, 3) <> "" Then
    f1.Cells(j, 2).Resize(, 4).Value = f.Cells(i, 2).Resize(, 4).Value
    j = j + 1
    End If
Next i
End Sub

Sinon on peut aussi voir du côté du filtre élaboré, peut-être 😉
 
Re

Donc avec le filtre élaboré
VB:
Sub Macro1()
Dim critR As Range, DestR As Range
Set critR = Sheets("Feuil1").[K6:K7]: Set DestR = Sheets("Feuil2").[B2:E2]
Sheets("Feuil1").[B6:E18].AdvancedFilter xlFilterCopy, critR, DestR, False
End Sub
Pré-requis: défusionner la ligne d'entête (sur les deux feuilles)
 
Re,

J'oublie fréquemment l'utilisation de cet outil qui est fort sympathique en réalité.

Mais dans le cas de notre ami, je pense que cette solution ne va pas être utile dans le sens où il souhaite conserver les données précédentes me semble t'il.
Qu'en penses tu ?
 
- 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

Discussions similaires

Réponses
4
Affichages
543
Réponses
3
Affichages
534
Retour