Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

[Résolu] Copier des lignes dans une autre feuille sous condition

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 !

Lone-wolf

XLDnaute Barbatruc
Bonjour le Forum,

J'aimerais faire un copier-coller de données dans une autre feuille, mais avec un écart de 33 lignes.
les lignes éffectives à copier sont de 32.

Feuil15 correspond à "Poids Autres Matériaux"

Code:
For i = 2 To Sheets("Liste Matériaux").Range("A65536").End(xlUp).Row Step 33
Feuil15.[A & i, :G & i].Copy Feuil29.[A & i]
Next i
Sheets("Poids Autres Matériaux").Range("A2:G33").ClearContents

Est-ce juste comme j'ai écrit?


A+ 😎
 
Dernière édition:
Re : Copier des lignes dans une autre feuille sous condition

Bonjour Wolfy

Si tu as testé ta macro, tu dois le savoir, non ? 🙂

Personnellement, j'ai un doute sur cette syntaxe
Code:
Feuil15.[A & i, :G & i].Copy Feuil29.[A & i]
 
Re : Copier des lignes dans une autre feuille sous condition

Re

Facile en éditant ton message (heureusement j'avais fait une copie d'écran de ton post "double" 😉

Tu veux un tit coup de main peut-être?
ou je te laisse cherche encore un tit peu 😉

Parce que j'attends patiemment que tu daignes comme il se doit joindre un fichier exemple pour faire des tests 😉

EDITION
: Sans PJ, j'en suis là
Code:
Sub a()
Dim i&
For i = 2 To Sheets(1).Range("A65536").End(xlUp).Row Step 32
MsgBox Sheets(2).Range(Cells(i, "A"), Cells(i, "G")).Resize(32).Address
Next i
End Sub
 
Dernière édition:
Re : Copier des lignes dans une autre feuille sous condition

Re Staple,

EDIT: Tiens! On s'est croisé! 😀 😉

voici le fichier, macro incluse.

Mais la syntaxe juste serait: à chaque 32 ligne de feuil1, copier les données dans feuil2 à la suite et afficher message.

A+ 😎
 

Pièces jointes

Dernière édition:
Re : Copier des lignes dans une autre feuille sous condition

Re

Lone-Wollf:
Tu peux préciser les points suivant, stp.
Ta feuille1 ne contient des données qu'en A2:G33 (donc pourquoi Step 33 dans ce cas ?)
Ta Feuille2 est vide
For i = 2 To Sheets("Feuil2").Range("A65536").End(xlDown).Row
(donc pourquoi boucler sur une colonne vide????)

Testes ceci pour comprendre ce dont je parle
VB:
Sub testA()
Dim m$
Application.ScreenUpdating = False
Sheets("Feuil1").Activate
For i = 2 To Sheets("Feuil2").Range("A65536").End(xlDown).Row
If Range("A" & i) <> "" Then
    With Range("A" & i & ":G" & i)
    m = m & .Parent.Name & ": " & .Address & vbCrLf 'ici pour test
    MsgBox m
End With
'Range("A" & i & ":G" & i).Copy Sheets("Feuil2").Range("A" & i & ":G" & i)
End If
Next i
Application.ScreenUpdating = True
End Sub
 
Re : Copier des lignes dans une autre feuille sous condition

Dans le classeur joint il n'y a pas Step 33.

Edit precédent message

la syntaxe juste serait: à chaque 32 lignes remplies de Feuil1 - afficher message (qui est un shape). Quand click sur le shape pour le fermer, copier les données dans Feuil2

Je ne sais pas si tu comprends; sinon quelque chose comme ceci:
w = Feuil1
for each cel w.Cells(Rows.Count, 1)
if w.Cells = 32 then
Message
end if
Range("A" & i & ":G" & i).Copy Sheets("Feuil2").Range("A" & i & ":G" & i)
Next cel

A+ 😎
 
Dernière édition:
Re : Copier des lignes dans une autre feuille sous condition

Re,

oui j'ai testé, une fois que les 32 messages se sont affichés, pas de copie dans la feuille 2. J'ai donc enlever la ligne du message et les lignes ont été copiées.

Donc je reprends et reformule la syntaxe exacte:

A chaque 32 lignes remplies de Feuil1 - afficher message (qui est un shape). Quand click sur le shape pour le fermer, copier les données dans Feuil2. Faire ceci pour toutes les 32 nouvelles lignes inscrites.


A+ 😎
 
Re : Copier des lignes dans une autre feuille sous condition

Re


Mais dans ta feuille 1 après la ligne 33, il n'y a pas de données
Donc je ne comprends pas cette phrase
A chaque 32 lignes remplies de Feuil1 - afficher message (qui est un shape). Quand click sur le shape pour le fermer, copier les données dans Feuil2.
 
Re : Copier des lignes dans une autre feuille sous condition

Re, re

C'est normal Staple.

Dans une feuille vierge, tu inscrit 32 données; là le message s'affiche te disans que les 32 données on été inscrites et tu copie.
Tu réinscrit à nouveau 32 données et là, même message et copie les nouvelles données à la suite des autres déjà inscrites dans la feuille 2.

A+ 😎
 
Re : Copier des lignes dans une autre feuille sous condition

Re

Avec ce que j'ai compris
Code:
Sub a()
Dim r As Range: Set r = Sheets(1).Range("A2:G33")
If Application.CountBlank(r) = 0 Then
r.Copy Sheets(2).[a65536].End(xlUp)(2)
End If
End Sub

C'est cela que tu veux faire ?
 
- 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
9
Affichages
884
Réponses
3
Affichages
879
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…