Créer une macro dans excel avec une condition
Fermé
Lilou
-
12 mars 2009 à 13:35
Mike-31 Messages postés 18382 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 2 avril 2025 - 12 mars 2009 à 14:49
Mike-31 Messages postés 18382 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 2 avril 2025 - 12 mars 2009 à 14:49
A voir également:
- Créer une macro dans excel avec une condition
- Créer une liste déroulante excel - Guide
- Excel cellule couleur si condition texte - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Créer une adresse hotmail - Guide
- Déplacer une colonne excel - Guide
2 réponses
Jonas87
Messages postés
125
Date d'inscription
mercredi 3 septembre 2008
Statut
Membre
Dernière intervention
19 avril 2010
29
12 mars 2009 à 13:59
12 mars 2009 à 13:59
Tu veux un tableau en feuille 2 avec toutes les dates réalisées et en feuille 1 que ce qui n'est pas réalisé ? J'ai bien compris ?
Mike-31
Messages postés
18382
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
2 avril 2025
5 126
12 mars 2009 à 14:49
12 mars 2009 à 14:49
Salut,
Regardes ce code, qui pourrait s'écrire différemment, mais pour te permettre de suivre son déroulement j’ai opté pour un code primaire. Après les apostrophe à chaque ligne de code, je t’ai mis la correspondance
Sub test()
Range("A200").End(xlUp).Offset(1, 0).Select 'sélectionne la deuxième cellule pour conserver les titres colonnes
Range(ActiveCell, Range("F2")).Copy 'sélectionne la plage de la cellule active à F2 Edition/Copier
Sheets("Feuil2").Select 'ouvres la feuille2
Range("A200").End(xlUp).Offset(1, 0).Select 'recherche la première cellule vide et colle
ActiveCell.Offset(1, 0).Select 'sélectionne l'emplacement de la ligne à insérer
Selection.EntireRow.Insert 'insére la ligne
ActiveSheet.Paste 'colle, mais cette ligne n'est pas necessaire
Sheets("Feuil1").Select 'revient feuille1
Range("A200").End(xlUp).Offset(1, 0).Select 'resélectionne la plage et supprime les lignes
Range(ActiveCell, Range("A2")).EntireRow.Delete
End Sub
Mais pourquoi ne pas écrire plus simplement ce code
Sub test()
Range("A200").End(xlUp).Offset(1, 0).Select
Range(ActiveCell, Range("F2")).Cut
Sheets("Feuil2").Select
Range("A200").End(xlUp).Offset(2, 0).Select
ActiveSheet.Paste
Sheets("Feuil1").Select
End Sub
Avec ce lien récupères un exemple
https://www.cjoint.com/?doo1STR2Wc
A+
Regardes ce code, qui pourrait s'écrire différemment, mais pour te permettre de suivre son déroulement j’ai opté pour un code primaire. Après les apostrophe à chaque ligne de code, je t’ai mis la correspondance
Sub test()
Range("A200").End(xlUp).Offset(1, 0).Select 'sélectionne la deuxième cellule pour conserver les titres colonnes
Range(ActiveCell, Range("F2")).Copy 'sélectionne la plage de la cellule active à F2 Edition/Copier
Sheets("Feuil2").Select 'ouvres la feuille2
Range("A200").End(xlUp).Offset(1, 0).Select 'recherche la première cellule vide et colle
ActiveCell.Offset(1, 0).Select 'sélectionne l'emplacement de la ligne à insérer
Selection.EntireRow.Insert 'insére la ligne
ActiveSheet.Paste 'colle, mais cette ligne n'est pas necessaire
Sheets("Feuil1").Select 'revient feuille1
Range("A200").End(xlUp).Offset(1, 0).Select 'resélectionne la plage et supprime les lignes
Range(ActiveCell, Range("A2")).EntireRow.Delete
End Sub
Mais pourquoi ne pas écrire plus simplement ce code
Sub test()
Range("A200").End(xlUp).Offset(1, 0).Select
Range(ActiveCell, Range("F2")).Cut
Sheets("Feuil2").Select
Range("A200").End(xlUp).Offset(2, 0).Select
ActiveSheet.Paste
Sheets("Feuil1").Select
End Sub
Avec ce lien récupères un exemple
https://www.cjoint.com/?doo1STR2Wc
A+