Perte de macro
Fermé
walterou
Messages postés
22
Date d'inscription
mercredi 16 juillet 2014
Statut
Membre
Dernière intervention
23 mai 2016
-
29 janv. 2015 à 14:25
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 - 30 janv. 2015 à 16:14
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 - 30 janv. 2015 à 16:14
A voir également:
- Perte de macro
- Macro word - Guide
- Macro logiciel - Télécharger - Organisation
- Reinstaller windows sans perte de données - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro recorder - Télécharger - Confidentialité
10 réponses
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 398
29 janv. 2015 à 14:29
29 janv. 2015 à 14:29
Bonjour
Qu'appelez vous déplacer un onglet ?
si c'est un copier coller vers un autre classeur,il faut que la macro soit aussi dans le classeur, ou la recoller dans l'onglet si elle appartient au code de la feuille
crdlmnt
Qu'appelez vous déplacer un onglet ?
si c'est un copier coller vers un autre classeur,il faut que la macro soit aussi dans le classeur, ou la recoller dans l'onglet si elle appartient au code de la feuille
crdlmnt
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
29 janv. 2015 à 14:43
29 janv. 2015 à 14:43
Bonjour,
Tu peux insérer un dessin. Ensuite clique droit , Affecter une macro. Tu verras ta macro et tu la sélectionnes.
Tu peux insérer un dessin. Ensuite clique droit , Affecter une macro. Tu verras ta macro et tu la sélectionnes.
walterou
Messages postés
22
Date d'inscription
mercredi 16 juillet 2014
Statut
Membre
Dernière intervention
23 mai 2016
29 janv. 2015 à 14:53
29 janv. 2015 à 14:53
Bonjour,
en fait mes boutons sont déjà des dessins mais elles ne fonctionnent plus.
J'ai 160 onglets concernés...
en fait mes boutons sont déjà des dessins mais elles ne fonctionnent plus.
J'ai 160 onglets concernés...
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
29 janv. 2015 à 15:08
29 janv. 2015 à 15:08
La macro est visible de tous les classeurs et elle est bien active
Si tu n'as qu'une seule macro et que tous tes boutons utilisent cette macro, c'est facile.Tu fait une boucle sur tous tes onglets et tu supprimes tous tes boutons. Ensuite tu mets un bouton sur ton 1er onglet, tu lui affectes ta macro. Ensuite tu fais une boucle sur tous tes onglets en copiant ce bouton. J'ai essayé manuellement sur 3 feuille cela fonctionne.
Si tu n'as qu'une seule macro et que tous tes boutons utilisent cette macro, c'est facile.Tu fait une boucle sur tous tes onglets et tu supprimes tous tes boutons. Ensuite tu mets un bouton sur ton 1er onglet, tu lui affectes ta macro. Ensuite tu fais une boucle sur tous tes onglets en copiant ce bouton. J'ai essayé manuellement sur 3 feuille cela fonctionne.
walterou
Messages postés
22
Date d'inscription
mercredi 16 juillet 2014
Statut
Membre
Dernière intervention
23 mai 2016
>
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
29 janv. 2015 à 15:24
29 janv. 2015 à 15:24
je ne comprends pas la notion de "boucle".
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
29 janv. 2015 à 15:31
29 janv. 2015 à 15:31
avant de continuer, as-tu qu'une seule macros et qu'un seul bouton par onglet qui agit sur cette macro?.
C'est important pour la suite
C'est important pour la suite
walterou
Messages postés
22
Date d'inscription
mercredi 16 juillet 2014
Statut
Membre
Dernière intervention
23 mai 2016
>
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
29 janv. 2015 à 15:33
29 janv. 2015 à 15:33
non, en fait par onglet j'ai deux macros différentes
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
29 janv. 2015 à 15:59
29 janv. 2015 à 15:59
Tout d'abord tu fait une copie de ton classeur. Il va falloir bien suivre la procédure .
Alt F11 pour accéder, tu inseres une UserForm avec 2 boutons, avec ce code:
Tu vas d'abord supprimer tous tes boutons
Ensuite dans ton 1er onglet tu mets un bouton affecté à une 1ere macro
Tu rectifies dans le code copier les boutons le nom du bouton et eventuellement sa position
Ensuite dans ton 1er onglet tu mets un second bouton affecté à une 2eme macro
Tu rectifies dans le code copier les boutons le nom du bouton et sa position
Bon courage
@+ Le Pivert
Alt F11 pour accéder, tu inseres une UserForm avec 2 boutons, avec ce code:
Private Sub CommandButton1_Click() 'Supprime les boutons Dim Ws As Worksheet 'Boucle sur toutes les feuille de calcul du classeur. Les onglets graphiques ne sont pas pris 'en compte. For Each Ws In ThisWorkbook.Worksheets ActiveSheet.Shapes.SelectAll Selection.Delete Next Ws End Sub Private Sub CommandButton2_Click() 'Copie les boutons Dim Ws As Worksheet 'Boucle sur toutes les feuille de calcul du classeur. Les onglets graphiques ne sont pas pris 'en compte. ActiveSheet.Shapes("Rectangle 9").Select ' a adapter au bouton que tu auras mis Selection.Copy For Each Ws In ThisWorkbook.Worksheets Ws.Select Range("D21").Select ' a adapter Ws.Paste Next Ws End Sub Private Sub UserForm_Initialize() CommandButton1.Caption = "Supprimer boutons" CommandButton2.Caption = "Copier boutons" End Sub
Tu vas d'abord supprimer tous tes boutons
Ensuite dans ton 1er onglet tu mets un bouton affecté à une 1ere macro
Tu rectifies dans le code copier les boutons le nom du bouton et eventuellement sa position
Ensuite dans ton 1er onglet tu mets un second bouton affecté à une 2eme macro
Tu rectifies dans le code copier les boutons le nom du bouton et sa position
Bon courage
@+ Le Pivert
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
29 janv. 2015 à 16:09
29 janv. 2015 à 16:09
J'ai oublié de te dire que la copie des boutons se fait en 2 fois!
Ensuite dans ton 1er onglet tu mets un bouton affecté à une 1ere macro
Tu rectifies dans le code copier les boutons le nom du bouton et eventuellement sa position
Copie boutons
Ensuite dans ton 1er onglet tu mets un second bouton affecté à une 2eme macro
Tu rectifies dans le code copier les boutons le nom du bouton et sa position
Copie boutons
Ensuite dans ton 1er onglet tu mets un bouton affecté à une 1ere macro
Tu rectifies dans le code copier les boutons le nom du bouton et eventuellement sa position
Copie boutons
Ensuite dans ton 1er onglet tu mets un second bouton affecté à une 2eme macro
Tu rectifies dans le code copier les boutons le nom du bouton et sa position
Copie boutons
walterou
Messages postés
22
Date d'inscription
mercredi 16 juillet 2014
Statut
Membre
Dernière intervention
23 mai 2016
>
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
29 janv. 2015 à 16:40
29 janv. 2015 à 16:40
merci à toi pour toutes ces informations.
Je ne vais pas pouvoir tester ce soir mais je mets ça en place dès demain matin
merci encore pour ton aide
Je ne vais pas pouvoir tester ce soir mais je mets ça en place dès demain matin
merci encore pour ton aide
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
30 janv. 2015 à 08:18
30 janv. 2015 à 08:18
Si tu as d'autres shapes (bouton, graphique etc) sur tes feuilles ils vont être effacer. Pour éviter cela il ne faudrait effacer que les boutons concernés. Mais ils faut qu'ils aient le même nom. Si c'est le cas voici le code:
Option Explicit Private Sub CommandButton1_Click() 'Supprime les boutons Dim Ws As Worksheet 'Boucle sur toutes les feuille de calcul du classeur. Les onglets graphiques ne sont pas pris 'en compte. For Each Ws In ThisWorkbook.Worksheets Ws.Select ActiveSheet.Shapes("Rectangle 10").Delete 'a adapter au nom du bouton Next Ws End Sub Private Sub CommandButton2_Click() 'Copie les boutons Dim Ws As Worksheet 'Boucle sur toutes les feuille de calcul du classeur. Les onglets graphiques ne sont pas pris 'en compte. ActiveSheet.Shapes("Rectangle 10").Select ' a adapter au bouton que tu auras mis Selection.Copy For Each Ws In ThisWorkbook.Worksheets If Ws.Name = "Feuil1" Then ' a adapter au 1er onglet pour éviter un 2ème bouton sur la feuille1 'rien Else Ws.Select Range("D21").Select ' a adapter Ws.Paste End If Next Ws End Sub Private Sub UserForm_Initialize() CommandButton1.Caption = "Supprimer boutons" CommandButton2.Caption = "Copier boutons" End Sub
walterou
Messages postés
22
Date d'inscription
mercredi 16 juillet 2014
Statut
Membre
Dernière intervention
23 mai 2016
30 janv. 2015 à 10:26
30 janv. 2015 à 10:26
Bonjour,
Merci encore de ton aide précieuse mais je ne sui pas assez calé en macro pour mettre en application tous tes conseils.
Ci dessous un lien vers une partie de ce fichier, si tu peux procéder à la modification je t'en remercie par avance. Je ferai ensuite la modification à l'ensemble de mon classeurs.
https://www.cjoint.com/?3AEkHCgSYC7
Merci encore de ton aide précieuse mais je ne sui pas assez calé en macro pour mettre en application tous tes conseils.
Ci dessous un lien vers une partie de ce fichier, si tu peux procéder à la modification je t'en remercie par avance. Je ferai ensuite la modification à l'ensemble de mon classeurs.
https://www.cjoint.com/?3AEkHCgSYC7
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
30 janv. 2015 à 11:23
30 janv. 2015 à 11:23
Voici ton classeur, mais il n'y a qu'une macro Test CM2 seulement
Pour aller dans les macros faire Alt F11 au clavier
http://www.cjoint.com/data3/3AElFnxvgbF.htm
Pour aller dans les macros faire Alt F11 au clavier
http://www.cjoint.com/data3/3AElFnxvgbF.htm
walterou
Messages postés
22
Date d'inscription
mercredi 16 juillet 2014
Statut
Membre
Dernière intervention
23 mai 2016
30 janv. 2015 à 11:50
30 janv. 2015 à 11:50
Je ne vois pas ta macro qui a généré tout ça dans le fichier que tu m'as retourné.
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
30 janv. 2015 à 11:57
30 janv. 2015 à 11:57
Quand tu es dans l'éditeur, il y a en haut à gauche les feuilles, en dessous il y a Feuille tout seul, tu cliques dessus tu verras l'UserForm1, tu cliques dessus. Ensuite pour allez dans le code tu doublecliques sur un bouton.
En dessous Feuille il y a Modules, tu cliques dessus il y a ton module, tu cliques dessus et tu verras le code de ta macro: Sub impression_test_CM2()
En dessous Feuille il y a Modules, tu cliques dessus il y a ton module, tu cliques dessus et tu verras le code de ta macro: Sub impression_test_CM2()
walterou
Messages postés
22
Date d'inscription
mercredi 16 juillet 2014
Statut
Membre
Dernière intervention
23 mai 2016
30 janv. 2015 à 12:06
30 janv. 2015 à 12:06
J'ai bien réussi à visualiser la code mais comment puis je l'actionner sur mon fichier complet ?
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
30 janv. 2015 à 12:18
30 janv. 2015 à 12:18
Pour lancer l'UserForm1
Tu sélectionnes d'abord ton 1er onglet et ensuite Alt F11 pour allez dans l'éditeur
ensuite quand tu es sur l'UserForm1 tu fait F5 au clavier , elle va s'afficher sur ton onglet
Dans le code il faut d'abord que tu suivent les instructions que je t'ai données!
Tu supprimes d'abord Ellipse 1, quand c'est fait tu fermes l'UserForm pour revenir au code, tu changes Ellipse 1 en Ellipse 2 et relance ton UserForm et tu supprimes ton 2ème bouton. tu fermes l'UserForm1
Ensuite dans ton 1er onglet tu mets un bouton affecté à une 1ere macro
Tu rectifies dans le code copier les boutons le nom du bouton et eventuellement sa position
Copie boutons
Ensuite dans ton 1er onglet tu mets un second bouton affecté à une 2eme macro
Tu rectifies dans le code copier les boutons le nom du bouton et sa position
Copie boutons
Mais je n'ai pas trouvé de 2ème macro!
Tu sélectionnes d'abord ton 1er onglet et ensuite Alt F11 pour allez dans l'éditeur
ensuite quand tu es sur l'UserForm1 tu fait F5 au clavier , elle va s'afficher sur ton onglet
Dans le code il faut d'abord que tu suivent les instructions que je t'ai données!
Tu supprimes d'abord Ellipse 1, quand c'est fait tu fermes l'UserForm pour revenir au code, tu changes Ellipse 1 en Ellipse 2 et relance ton UserForm et tu supprimes ton 2ème bouton. tu fermes l'UserForm1
Ensuite dans ton 1er onglet tu mets un bouton affecté à une 1ere macro
Tu rectifies dans le code copier les boutons le nom du bouton et eventuellement sa position
Copie boutons
Ensuite dans ton 1er onglet tu mets un second bouton affecté à une 2eme macro
Tu rectifies dans le code copier les boutons le nom du bouton et sa position
Copie boutons
Mais je n'ai pas trouvé de 2ème macro!
walterou
Messages postés
22
Date d'inscription
mercredi 16 juillet 2014
Statut
Membre
Dernière intervention
23 mai 2016
30 janv. 2015 à 13:50
30 janv. 2015 à 13:50
Je suis désolé mais mes compétences sontQa trop limitées pour comprendre la procédure !
Quand je parviens à faire apparaitre l'UserForm sur mon onglet et que je clic sur supprimer un code d'erreur apparait : erreur d'exécution 1004
Quand je parviens à faire apparaitre l'UserForm sur mon onglet et que je clic sur supprimer un code d'erreur apparait : erreur d'exécution 1004
walterou
Messages postés
22
Date d'inscription
mercredi 16 juillet 2014
Statut
Membre
Dernière intervention
23 mai 2016
30 janv. 2015 à 13:58
30 janv. 2015 à 13:58
je viens de refaire un lien avec le fichier allégé qui comporte bien les deux boutons et les deux macros
https://www.cjoint.com/?3AEohnUuLCH
https://www.cjoint.com/?3AEohnUuLCH
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
30 janv. 2015 à 15:31
30 janv. 2015 à 15:31
Voilà, je t'ai fait une interface avec un bouton approprié à chaque action. Tu n'auras même pas besoin d'allez modifier le code.
La seule obligation:
Après avoir supprimé tous les boutons. Il n'en restera que 2 sur l'onglet 1. Il faudra que tu leur affectes une macro à chacun avant de copier tous les boutons
http://www.cjoint.com/data3/3AEpL4QMP0w.htm
La seule obligation:
Après avoir supprimé tous les boutons. Il n'en restera que 2 sur l'onglet 1. Il faudra que tu leur affectes une macro à chacun avant de copier tous les boutons
http://www.cjoint.com/data3/3AEpL4QMP0w.htm
walterou
Messages postés
22
Date d'inscription
mercredi 16 juillet 2014
Statut
Membre
Dernière intervention
23 mai 2016
30 janv. 2015 à 15:47
30 janv. 2015 à 15:47
j'ai ouvert mon fichier Excel et me suis positionné sur le 1er onglet.
Comme précisé, j'ai ouvert l'UserForm (alt F11) puis F5
les 4 boutons de commande apparaissent sur mon onglet.
Quand je clic sur "supprimer test ce1" j'ai un message d'erreur "erreur d'exécution 1004 : la méthode 'select de l'objet'_worksheet'a échoué
Comme précisé, j'ai ouvert l'UserForm (alt F11) puis F5
les 4 boutons de commande apparaissent sur mon onglet.
Quand je clic sur "supprimer test ce1" j'ai un message d'erreur "erreur d'exécution 1004 : la méthode 'select de l'objet'_worksheet'a échoué
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
30 janv. 2015 à 16:06
30 janv. 2015 à 16:06
Le classeur que je t'ai transmis ne peux plus être modifier. Les nouveaux boutons ne sont plus Ellipse 1 et 2, mais 3 et 4. C'est un exemple!
Il faut prendre ton classeur original après avoir fait une copie (important) et mettre une UserForm et des boutons et recopier le code.
Je tiens aussi à te signaler que tes 2 macros buggées. J'ai corrigé, ceux sont les lignes qui sont en vert. Il faudra aussi les corriger sur ton classeur original, en mettant une apostrophe devant ces lignes.
Je ne peux pas faire plus. Je sais que c'est compliqué pour un néophyte en vba!
Bon courage
Il faut prendre ton classeur original après avoir fait une copie (important) et mettre une UserForm et des boutons et recopier le code.
Je tiens aussi à te signaler que tes 2 macros buggées. J'ai corrigé, ceux sont les lignes qui sont en vert. Il faudra aussi les corriger sur ton classeur original, en mettant une apostrophe devant ces lignes.
Je ne peux pas faire plus. Je sais que c'est compliqué pour un néophyte en vba!
Bon courage
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
30 janv. 2015 à 16:14
30 janv. 2015 à 16:14
J'ai trouvé une combine pour supprimer tous tes boutons;
Ajoute un bouton à ton UserForm et mets ce code:
Ajoute un bouton à ton UserForm et mets ce code:
Private Sub CommandButton5_Click() 'Supprime les boutons Dim Ws As Worksheet 'Boucle sur toutes les feuille de calcul du classeur. Les onglets graphiques ne sont pas pris 'en compte. For Each Ws In ThisWorkbook.Worksheets If Ws.Name = "1" Then 'rien Else Ws.Select ActiveSheet.Shapes.SelectAll Selection.Delete End If Next Ws End Sub
29 janv. 2015 à 14:40
La macro est visible de tous les classeurs et elle est bien active si je ne passe pas par le bouton.
Mon problème c'est que mes boutons ne sont plus actifs.