A voir également:
- Créer une macro
- Créer un compte google - Guide
- Comment créer un groupe whatsapp - Guide
- Créer une adresse hotmail - Guide
- Créer un compte gmail - Guide
- Créer une story facebook - Guide
3 réponses
jordane45
Messages postés
38446
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 février 2025
4 737
8 janv. 2019 à 17:50
8 janv. 2019 à 17:50
Bonjour,
Oui et ?
Déjà.. il n'y a pas de Feuil2 dans ton classeur
Ensuite... il n'y a rien de bien compliqué.... qu'as tu commencé à coder ?
Car bon.. il suffit de faire une boucle sur tes lignes
Vérifier à l'aide d'un IF si la valeur de la cellule est égale à 1 ou non
Faire le "copier/coller"
Reviens nous voir avec un début de code si tu bloques...
NB: Pour poster du code sur le forum, merci de le faire en utilisant LES BALISES DE CODE (et en y précisant le langage)
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Oui et ?
Déjà.. il n'y a pas de Feuil2 dans ton classeur
Ensuite... il n'y a rien de bien compliqué.... qu'as tu commencé à coder ?
Car bon.. il suffit de faire une boucle sur tes lignes
Vérifier à l'aide d'un IF si la valeur de la cellule est égale à 1 ou non
Faire le "copier/coller"
Reviens nous voir avec un début de code si tu bloques...
NB: Pour poster du code sur le forum, merci de le faire en utilisant LES BALISES DE CODE (et en y précisant le langage)
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
https://www.cjoint.com/c/IAiskulugsh
Voici mon fichier dans lequel il y a mon amorce de code/ Je le remet ci-dessous aussi
Sub tri()
i = 2
While i < 10
If Cells(i, 7) <> 1 And Cells(i, 2) <> Cells(i + 1, 2) Or Cells(i, 3) <> Cells(i + 1, 3) Then
Rows("i:i").Select
Selection.Copy
Sheets("Feuil2").Select
Rows("i:i").Select
ActiveSheet.Paste
End If
Wend
End Sub
Voici mon fichier dans lequel il y a mon amorce de code/ Je le remet ci-dessous aussi
Sub tri()
i = 2
While i < 10
If Cells(i, 7) <> 1 And Cells(i, 2) <> Cells(i + 1, 2) Or Cells(i, 3) <> Cells(i + 1, 3) Then
Rows("i:i").Select
Selection.Copy
Sheets("Feuil2").Select
Rows("i:i").Select
ActiveSheet.Paste
End If
Wend
End Sub
10 janv. 2019 à 08:55
10 janv. 2019 à 14:59
Je l'avais bien vu la première fois...... et il est toujours présent dans la discussion....
J'allais te coller le code qui effectue ce que tu souhaites... mais me faire relancer de la sorte m’insupporte.
Je viendrai donc le coller un un plus tard.... si j'y pense.
10 janv. 2019 à 15:03
Pas de soucis.
J'attendais, mais merci quand même savoir pris un peut de ton temps pour moi.
10 janv. 2019 à 15:07
Il faut éviter au maximum les "select".
Par contre, tu dois préciser les feuilles devant tes "Range" pour qu'excel sache entre quelle et quelle feuille il doit copier puis coller...
Tu dois aussi, à chaque tour de boucle, regarder quelle est le numéro de la première ligne vide disponible pour ta feuille 2 afin d'y coller le contenu sans créer de trou.
Un truc du genre
11 janv. 2019 à 10:41
Je m'explique :
Dans la colonne 7 il y a des groupes de lignes . Du coup s'il est écrit 2 ou 4, alors le groupe se compose de la ligne sur lequel est écrit le chiffre est des lignes vides qui se trouvent directement au dessus, soit 1 ou 3 lignes pour cet exemple.
Je voudrais donc copier-coller tous les groupes de lignes en entier, pour lesquels dans les colonnes 2 ou 3 il y a des chiffres qui diffèrent, entre les lignes du groupe.
Je suis débutant sur VBA, d'où mes demandes.
Merci à toit, et aux autres qui verrons mon message ;-)
BOB