Aide pour configuration d'un macro sur excel
Fermé
thib1212_
Messages postés
3
Date d'inscription
vendredi 10 septembre 2021
Statut
Membre
Dernière intervention
13 septembre 2021
-
13 sept. 2021 à 12:03
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 19 sept. 2021 à 16:25
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 19 sept. 2021 à 16:25
A voir également:
- Aide pour configuration d'un macro sur excel
- Ethernet n'a pas de configuration ip valide - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Si et excel - Guide
8 réponses
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
13 sept. 2021 à 15:07
13 sept. 2021 à 15:07
Bonjour,
Pour faire une boucle:
https://www.developpez.net/forums/d605223/logiciels/microsoft-office/excel/contribuez/boucles-parcourir-colonne-ligne-plage-donnees-2-methodes/
pour trouver la dernière ligne remplie:
https://excel-malin.com/tutoriels/vba-tutoriels/vba-trouver-la-derniere-cellule-utilisee/
pour copier une plage:
https://docs.microsoft.com/fr-fr/office/vba/api/excel.range.copy
ce qui donne cette macro, a mettre dans un module et à associer à un bouton ou un raccourci clavier:
Voilà
Pour faire une boucle:
https://www.developpez.net/forums/d605223/logiciels/microsoft-office/excel/contribuez/boucles-parcourir-colonne-ligne-plage-donnees-2-methodes/
pour trouver la dernière ligne remplie:
https://excel-malin.com/tutoriels/vba-tutoriels/vba-trouver-la-derniere-cellule-utilisee/
pour copier une plage:
https://docs.microsoft.com/fr-fr/office/vba/api/excel.range.copy
ce qui donne cette macro, a mettre dans un module et à associer à un bouton ou un raccourci clavier:
Option Explicit 'https://www.developpez.net/forums/d605223/logiciels/microsoft-office/excel/contribuez/boucles-parcourir-colonne-ligne-plage-donnees-2-methodes/ 'https://excel-malin.com/tutoriels/vba-tutoriels/vba-trouver-la-derniere-cellule-utilisee/ 'https://docs.microsoft.com/fr-fr/office/vba/api/excel.range.copy Sub For_X_to_Next_Ligne() Dim FL1 As Worksheet, NoCol As Integer Dim NoLig As Long, Var As Variant Dim DerniereLigneUtilisee As Long Set FL1 = Worksheets("Liste de commande") NoCol = 7 'lecture de la colonne G For NoLig = 2 To Split(FL1.UsedRange.Address, "$")(4) Var = FL1.Cells(NoLig, NoCol) If Var = "Accepté" Then DerniereLigneUtilisee = Worksheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row + 1 'où X est la colonne donnée FL1.Range("A" & NoLig & ":H" & NoLig).Copy _ Destination:=Worksheets("Feuil1").Range("A" & DerniereLigneUtilisee) End If Next Set FL1 = Nothing End Sub
Voilà
thib1212_
Messages postés
3
Date d'inscription
vendredi 10 septembre 2021
Statut
Membre
Dernière intervention
13 septembre 2021
13 sept. 2021 à 19:36
13 sept. 2021 à 19:36
Bonjour,
Merci pour votre aide, ca marche très bien !
Par contre, est-il obligé d'associer cette macro à un bouton ? Cela peut-il se faire automatiquement ?
Merci pour votre aide, ca marche très bien !
Par contre, est-il obligé d'associer cette macro à un bouton ? Cela peut-il se faire automatiquement ?
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
14 sept. 2021 à 08:27
14 sept. 2021 à 08:27
Oui en déclenchant la macro à l'activation de la feuille1
Se mettre sur la feuille 1 et faire Alt F11 pour accéder à son module:
mettre ce code:
mais il va falloir corriger la macro, car si on n'efface pas les anciennes saisies cela va s'accumuler!
on efface donc :
voilà prêt à l'emploi!
@+ Le Pivert
Se mettre sur la feuille 1 et faire Alt F11 pour accéder à son module:
mettre ce code:
Option Explicit Private Sub Worksheet_Activate() For_X_to_Next_Ligne End Sub
mais il va falloir corriger la macro, car si on n'efface pas les anciennes saisies cela va s'accumuler!
on efface donc :
Option Explicit 'https://www.developpez.net/forums/d605223/logiciels/microsoft-office/excel/contribuez/boucles-parcourir-colonne-ligne-plage-donnees-2-methodes/ 'https://excel-malin.com/tutoriels/vba-tutoriels/vba-trouver-la-derniere-cellule-utilisee/ 'https://docs.microsoft.com/fr-fr/office/vba/api/excel.range.copy Sub For_X_to_Next_Ligne() Dim FL1 As Worksheet, NoCol As Integer Dim NoLig As Long, Var As Variant Dim DerniereLigneUtilisee As Long Set FL1 = Worksheets("Liste de commande") NoCol = 7 'lecture de la colonne G DerniereLigneUtilisee = Worksheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row + 1 'où X est la colonne donnée Range("A2:H" & DerniereLigneUtilisee).ClearContents 'on efface For NoLig = 2 To Split(FL1.UsedRange.Address, "$")(4) Var = FL1.Cells(NoLig, NoCol) If Var = "Accepté" Then DerniereLigneUtilisee = Worksheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row + 1 'où X est la colonne donnée FL1.Range("A" & NoLig & ":H" & NoLig).Copy _ Destination:=Worksheets("Feuil1").Range("A" & DerniereLigneUtilisee) End If Next Set FL1 = Nothing End Sub
voilà prêt à l'emploi!
@+ Le Pivert
thib1212_
>
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
19 sept. 2021 à 12:17
19 sept. 2021 à 12:17
Bonjour,
Je viens de voir qu'il y a une erreur sur la macro, en effet quand la fonction "accepté" est renseigné, toutes les lignes de la feuille 1 sont copiés. Or, il faudrait que seulement la ligne concerné soit copié et non celle d'avant (car sinon on les retrouve plusieurs fois dans la feuille 2).
Que faut-il changer ?
Je viens de voir qu'il y a une erreur sur la macro, en effet quand la fonction "accepté" est renseigné, toutes les lignes de la feuille 1 sont copiés. Or, il faudrait que seulement la ligne concerné soit copié et non celle d'avant (car sinon on les retrouve plusieurs fois dans la feuille 2).
Que faut-il changer ?
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié le 14 sept. 2021 à 08:56
Modifié le 14 sept. 2021 à 08:56
Bonjour,
Il y a une erreur sur la macro, en effet quand la fonction "accepté" est renseigné, toutes les lignes de la feuille 1 sont copiés. Or, il faudrait que seulement la ligne concerné soit copié et non celle d'avant (car sinon on les retrouve plusieurs fois dans la feuille 2).
Que faut-il changer ?
Il y a une erreur sur la macro, en effet quand la fonction "accepté" est renseigné, toutes les lignes de la feuille 1 sont copiés. Or, il faudrait que seulement la ligne concerné soit copié et non celle d'avant (car sinon on les retrouve plusieurs fois dans la feuille 2).
Que faut-il changer ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
19 sept. 2021 à 08:39
19 sept. 2021 à 08:39
Bonjour,
4 jours après mon envoi, je n'ai plus le classeur...
Donc,
renvoie ton classeur avec la macro
et pas dans 4 jours !!!
4 jours après mon envoi, je n'ai plus le classeur...
Donc,
renvoie ton classeur avec la macro
et pas dans 4 jours !!!
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
19 sept. 2021 à 09:21
19 sept. 2021 à 09:21
Je viens réessayer et ca marche
KInkaWERch2_liste-cets.xlsm
KInkaWERch2_liste-cets.xlsm
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié le 19 sept. 2021 à 16:27
Modifié le 19 sept. 2021 à 16:27
SURTOUT NE REGARDE PAS CE QUE LES BÉNÉVOLES TE PROPOSENT A 9 H 21
Adieu
Adieu