Macro insertion ligne Excel, macro ne suit pa
Résolu/Fermé
banbiou
banbiou
- Messages postés
- 70
- Date d'inscription
- mercredi 6 février 2008
- Statut
- Membre
- Dernière intervention
- 4 août 2015
banbiou
- Messages postés
- 70
- Date d'inscription
- mercredi 6 février 2008
- Statut
- Membre
- Dernière intervention
- 4 août 2015
A voir également:
- Macro insertion ligne Excel, macro ne suit pa
- Macro insertion ligne Excel, macro ne suit pa ✓ - Forum - Programmation
- Problème insertion ligne excel ✓ - Forum - Excel
- Insertion ligne excel sous condition ✓ - Forum - Excel
- Insertion lignes excel ✓ - Forum - Excel
- Range fixe insertion ligne Excel ✓ - Forum - Programmation
12 réponses
herod1983
12 janv. 2009 à 11:16
- Messages postés
- 193
- Date d'inscription
- jeudi 2 octobre 2008
- Statut
- Membre
- Dernière intervention
- 3 août 2012
12 janv. 2009 à 11:16
salut
Je ne vois pas très bien ce que tu veux faire, en gros tu veux insérer une ligne quand il y a une certaine condition laquelle? mais tu veux pouvoir modifié à chaque fois à quelle endroit tu veux l'insérer c'est sa?
Je ne vois pas très bien ce que tu veux faire, en gros tu veux insérer une ligne quand il y a une certaine condition laquelle? mais tu veux pouvoir modifié à chaque fois à quelle endroit tu veux l'insérer c'est sa?
herod1983
12 janv. 2009 à 11:26
- Messages postés
- 193
- Date d'inscription
- jeudi 2 octobre 2008
- Statut
- Membre
- Dernière intervention
- 3 août 2012
12 janv. 2009 à 11:26
si c'est bien sa je te propose cela:
Il te faudra juste double cliquer sur la ligne concernée pour que cela en insère une.
A mettre dans: Private Sub Worksheet_BeforeDoubleClick
A mettre dans une macro:
Il te faudra juste double cliquer sur la ligne concernée pour que cela en insère une.
A mettre dans: Private Sub Worksheet_BeforeDoubleClick
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Call Macro1(Target) End Sub
A mettre dans une macro:
Sub Macro1(Target) Set i = Target Range("A" & i.Row).Insert End Sub
banbiou
12 janv. 2009 à 14:12
- Messages postés
- 70
- Date d'inscription
- mercredi 6 février 2008
- Statut
- Membre
- Dernière intervention
- 4 août 2015
12 janv. 2009 à 14:12
une idée herod1983...?
banbiou
12 janv. 2009 à 11:39
- Messages postés
- 70
- Date d'inscription
- mercredi 6 février 2008
- Statut
- Membre
- Dernière intervention
- 4 août 2015
12 janv. 2009 à 11:39
En faite, lorsque je modifie mon Excel (ce qui arrive souvent). Lorsque, par exemple, j'ajoute une ligne en Excel. Ma Macro n'est plus à jour.
eriiic
12 janv. 2009 à 16:54
- Messages postés
- 24408
- Date d'inscription
- mardi 11 septembre 2007
- Statut
- Contributeur
- Dernière intervention
- 23 juin 2022
12 janv. 2009 à 16:54
Bonjour,
le plus simple est de nommer la plage concernée (par exemple plage3) et d'utiliser ce nom dans la macro :
Range("plage3").EntireRow.Hidden = False
Le nom d'adaptera tout seul en fonction des ajout/suppression de lignes et tu peux redéfinir la plage en cas d'évolution de ta feuille sans retoucher le code.
eric
le plus simple est de nommer la plage concernée (par exemple plage3) et d'utiliser ce nom dans la macro :
Range("plage3").EntireRow.Hidden = False
Le nom d'adaptera tout seul en fonction des ajout/suppression de lignes et tu peux redéfinir la plage en cas d'évolution de ta feuille sans retoucher le code.
eric
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
eriiic
12 janv. 2009 à 16:54
- Messages postés
- 24408
- Date d'inscription
- mardi 11 septembre 2007
- Statut
- Contributeur
- Dernière intervention
- 23 juin 2022
12 janv. 2009 à 16:54
Bonjour,
le plus simple est de nommer la plage concernée (par exemple plage3) et d'utiliser ce nom dans la macro :
Range("plage3").EntireRow.Hidden = False
Le nom d'adaptera tout seul en fonction des ajout/suppression de lignes et tu peux redéfinir la plage en cas d'évolution de ta feuille sans retoucher le code.
eric
le plus simple est de nommer la plage concernée (par exemple plage3) et d'utiliser ce nom dans la macro :
Range("plage3").EntireRow.Hidden = False
Le nom d'adaptera tout seul en fonction des ajout/suppression de lignes et tu peux redéfinir la plage en cas d'évolution de ta feuille sans retoucher le code.
eric
banbiou
13 janv. 2009 à 01:10
- Messages postés
- 70
- Date d'inscription
- mercredi 6 février 2008
- Statut
- Membre
- Dernière intervention
- 4 août 2015
13 janv. 2009 à 01:10
en gros si je te comprend bien eric:
comme ma macro est associé à un bouton, "bouton3", il me sufirai de dire au début de ma macro:
Range("bouton3").EntireRow.Hidden = False ??? c'est ca?
je peux meme je pense nommer tous mes boutons "bouton3" pour que cette ligne d'instruction ce généralise à toutes mes macro de ce type..?
En tout cas, en attentan des news de ta part, je te remerci et je te dirai si cela marche demain car je vais au dodo...
comme ma macro est associé à un bouton, "bouton3", il me sufirai de dire au début de ma macro:
Range("bouton3").EntireRow.Hidden = False ??? c'est ca?
je peux meme je pense nommer tous mes boutons "bouton3" pour que cette ligne d'instruction ce généralise à toutes mes macro de ce type..?
En tout cas, en attentan des news de ta part, je te remerci et je te dirai si cela marche demain car je vais au dodo...
eriiic
13 janv. 2009 à 07:00
- Messages postés
- 24408
- Date d'inscription
- mardi 11 septembre 2007
- Statut
- Contributeur
- Dernière intervention
- 23 juin 2022
13 janv. 2009 à 07:00
Bonjour,
Non, il faut que tu nommes ta plage sur la feuille.
Sélectionner tes 3 lignes et menu 'insertion / nom / definir...'
eric
Non, il faut que tu nommes ta plage sur la feuille.
Sélectionner tes 3 lignes et menu 'insertion / nom / definir...'
eric
banbiou
13 janv. 2009 à 10:04
- Messages postés
- 70
- Date d'inscription
- mercredi 6 février 2008
- Statut
- Membre
- Dernière intervention
- 4 août 2015
13 janv. 2009 à 10:04
slt,
alors j'ai bien essayé ta proposition mais cela n'a pas fait l'effet que j'attandais...lol
pour plus de compréhension, j'envoi un "exemple" de mon .xls
ajoute une ligne supplémentaire au début de ma page, joue avec les macros et tu comprendras tout vite ce que j'ai voulu dire lol.
voila:
http://www.cijoint.fr/cjlink.php?file=cj200901/cijLIu5ISQ.xls
merci d'avance.
alors j'ai bien essayé ta proposition mais cela n'a pas fait l'effet que j'attandais...lol
pour plus de compréhension, j'envoi un "exemple" de mon .xls
ajoute une ligne supplémentaire au début de ma page, joue avec les macros et tu comprendras tout vite ce que j'ai voulu dire lol.
voila:
http://www.cijoint.fr/cjlink.php?file=cj200901/cijLIu5ISQ.xls
merci d'avance.
eriiic
13 janv. 2009 à 23:29
- Messages postés
- 24408
- Date d'inscription
- mardi 11 septembre 2007
- Statut
- Contributeur
- Dernière intervention
- 23 juin 2022
- Messages postés
- 70
- Date d'inscription
- mercredi 6 février 2008
- Statut
- Membre
- Dernière intervention
- 4 août 2015
13 janv. 2009 à 23:29
Bonsoir,
ben j'ai modifié et 'joué' comme tu dis et je ne vois pas bien où ça cloche par rapport à ce que tu demandais (?)
Soit tu as mal expliqué, soit je n'ai rien compris, soit tu n'as pas compris mon explication (sommaire...)
Je n'ai modifié que pour les boutons en lignes 29 et 33 :
classeur1.xls
Et si la ligne insérée est entre 30:33 la plage s'aggrandi en 30:34
Mais pour faire plus joli et plus ergonomique utilise le même bouton pour déplier et replier (là celui en 33 ne sert plus à rien)
eric
ben j'ai modifié et 'joué' comme tu dis et je ne vois pas bien où ça cloche par rapport à ce que tu demandais (?)
Soit tu as mal expliqué, soit je n'ai rien compris, soit tu n'as pas compris mon explication (sommaire...)
Je n'ai modifié que pour les boutons en lignes 29 et 33 :
classeur1.xls
Et si la ligne insérée est entre 30:33 la plage s'aggrandi en 30:34
Mais pour faire plus joli et plus ergonomique utilise le même bouton pour déplier et replier (là celui en 33 ne sert plus à rien)
eric
banbiou
13 janv. 2009 à 23:44
- Messages postés
- 70
- Date d'inscription
- mercredi 6 février 2008
- Statut
- Membre
- Dernière intervention
- 4 août 2015
- Messages postés
- 24408
- Date d'inscription
- mardi 11 septembre 2007
- Statut
- Contributeur
- Dernière intervention
- 23 juin 2022
13 janv. 2009 à 23:44
bah voila, j'avais ma utilisé ton explication avec la "plage3"...
j'avais juste mis mes macro dans cette plage.
Et effectivement, ca fait 1 mois que je "joue" avec les macro Excel...
Et un gros merci pour ta trouvail, ton aide et aussi l'ergonomie de mon bouton "2 en 1", j'avais essayé de trouver qque chose mais j'avais pas trouvé...^^
En tout cas un GRAND MERCI.
PS: et si tu es fort en dyndns avec pi3web... je veux bien un coup de main pr configurer mon log. pi3web... lol
j'avais juste mis mes macro dans cette plage.
Et effectivement, ca fait 1 mois que je "joue" avec les macro Excel...
Et un gros merci pour ta trouvail, ton aide et aussi l'ergonomie de mon bouton "2 en 1", j'avais essayé de trouver qque chose mais j'avais pas trouvé...^^
En tout cas un GRAND MERCI.
PS: et si tu es fort en dyndns avec pi3web... je veux bien un coup de main pr configurer mon log. pi3web... lol
eriiic
14 janv. 2009 à 00:24
- Messages postés
- 24408
- Date d'inscription
- mardi 11 septembre 2007
- Statut
- Contributeur
- Dernière intervention
- 23 juin 2022
- Messages postés
- 70
- Date d'inscription
- mercredi 6 février 2008
- Statut
- Membre
- Dernière intervention
- 4 août 2015
14 janv. 2009 à 00:24
Je ne connais pas pi3web mais si c'est pour te faire un serveur FTP avec dyndns tu peux t'inspirer de ça :
FTP sur micro.pdf
Tout est bien expliqué point par point
eric
FTP sur micro.pdf
Tout est bien expliqué point par point
eric
banbiou
14 janv. 2009 à 08:31
- Messages postés
- 70
- Date d'inscription
- mercredi 6 février 2008
- Statut
- Membre
- Dernière intervention
- 4 août 2015
- Messages postés
- 24408
- Date d'inscription
- mardi 11 septembre 2007
- Statut
- Contributeur
- Dernière intervention
- 23 juin 2022
14 janv. 2009 à 08:31
merci eric,
herod1983
13 janv. 2009 à 10:52
- Messages postés
- 193
- Date d'inscription
- jeudi 2 octobre 2008
- Statut
- Membre
- Dernière intervention
- 3 août 2012
13 janv. 2009 à 10:52
Salut
Désolé pour hier j'ai pas le net a mon boulot, j'ai vue ton .xls effectivement, pour que chaque ligne cachée garde leur numéro de ligne quand tu en ajoute une, il faudrait faire une macro qui déplace tous de +1, mais vu le nombre de ligne cachée que tu as, c'est plutôt ardue.
Alors peut-être si tu prenais le problème d'une autre manière, à ton stade est-il encore possible qu'au lieu d'insérer des lignes, que tu ajoutes tous simplement tes donnés au fur et à mesure.
Désolé pour hier j'ai pas le net a mon boulot, j'ai vue ton .xls effectivement, pour que chaque ligne cachée garde leur numéro de ligne quand tu en ajoute une, il faudrait faire une macro qui déplace tous de +1, mais vu le nombre de ligne cachée que tu as, c'est plutôt ardue.
Alors peut-être si tu prenais le problème d'une autre manière, à ton stade est-il encore possible qu'au lieu d'insérer des lignes, que tu ajoutes tous simplement tes donnés au fur et à mesure.
banbiou
13 janv. 2009 à 14:34
- Messages postés
- 70
- Date d'inscription
- mercredi 6 février 2008
- Statut
- Membre
- Dernière intervention
- 4 août 2015
13 janv. 2009 à 14:34
en faite, j'ai ma liste principale d'opérations et lorsque je clic sur le "+" c'est pour avoir le détail (les sous opérations).
ces opérations sont dans un ordre précis. Mais il se peut que j''en ai oubliées une ou deux par ci par là donc rajouter des lignes supplémentaires... tu vois ce que je veux dire ?
merci
ces opérations sont dans un ordre précis. Mais il se peut que j''en ai oubliées une ou deux par ci par là donc rajouter des lignes supplémentaires... tu vois ce que je veux dire ?
merci
herod1983
13 janv. 2009 à 20:54
- Messages postés
- 193
- Date d'inscription
- jeudi 2 octobre 2008
- Statut
- Membre
- Dernière intervention
- 3 août 2012
13 janv. 2009 à 20:54
Ok je vais me pencher sur le problème je te tiens au courant
banbiou
13 janv. 2009 à 21:30
- Messages postés
- 70
- Date d'inscription
- mercredi 6 février 2008
- Statut
- Membre
- Dernière intervention
- 4 août 2015
13 janv. 2009 à 21:30
merci herod
herod1983
15 janv. 2009 à 16:37
- Messages postés
- 193
- Date d'inscription
- jeudi 2 octobre 2008
- Statut
- Membre
- Dernière intervention
- 3 août 2012
15 janv. 2009 à 16:37
Voila c'est fait
voici le lien http://herod1983.hbg.fr/cijLIu5ISQ.xls
Donc pour garder les mêmes lignes qui se masque et se dévoile quand tu en insère une j'ai procédé de la façon suivante:
- En premier j'ai déjà effacé tes boutons car ce n'était pas des CommandButton et pour effectuer l'évènement Click
c'était plus problématique (tu les trouves dans affichage=>barre d'outil=>boite a outil de contrôle)
- Ensuite j'ai pris les coordonnées ligne du bouton "+", vu qu'ils étaient à chaque fois au-dessus des lignes à démasquer.
En gros j'ai dis si le bouton est sur cette ligne alors les lignes en dessous (en fonction du nombre de ligne que tu veux masquer) se démasque, pareil pour le masquage
il y a une macro pour chaque nombre de ligne à masquer (en l'occurrence pour toi 2,3,5,8,9), si tu veux créer d'autre boutons qui masque un autre nombre de ligne, tu n'aura qu'à copier une macro déjà faite et changer à
+2 +3 ou +4 et mettre +6 pour 6ligne +7 etc.
Je t'ai encore expliquer dans les macro la marche à suivre
Voila j'espère que je bien été explicatif, de toute façon si il y a quelque chose qui cloche tu peux toujours m'en faire part.
voici le lien http://herod1983.hbg.fr/cijLIu5ISQ.xls
Donc pour garder les mêmes lignes qui se masque et se dévoile quand tu en insère une j'ai procédé de la façon suivante:
- En premier j'ai déjà effacé tes boutons car ce n'était pas des CommandButton et pour effectuer l'évènement Click
c'était plus problématique (tu les trouves dans affichage=>barre d'outil=>boite a outil de contrôle)
- Ensuite j'ai pris les coordonnées ligne du bouton "+", vu qu'ils étaient à chaque fois au-dessus des lignes à démasquer.
En gros j'ai dis si le bouton est sur cette ligne alors les lignes en dessous (en fonction du nombre de ligne que tu veux masquer) se démasque, pareil pour le masquage
il y a une macro pour chaque nombre de ligne à masquer (en l'occurrence pour toi 2,3,5,8,9), si tu veux créer d'autre boutons qui masque un autre nombre de ligne, tu n'aura qu'à copier une macro déjà faite et changer à
+2 +3 ou +4 et mettre +6 pour 6ligne +7 etc.
Je t'ai encore expliquer dans les macro la marche à suivre
Voila j'espère que je bien été explicatif, de toute façon si il y a quelque chose qui cloche tu peux toujours m'en faire part.
banbiou
15 janv. 2009 à 19:47
- Messages postés
- 70
- Date d'inscription
- mercredi 6 février 2008
- Statut
- Membre
- Dernière intervention
- 4 août 2015
15 janv. 2009 à 19:47
merci herod, tu as aussi réussi comme eric.
il y a plus de programmation dans ta méthode par rapport a eric.
j'aime bien les deux... ^^
en tout cas j'ai encore bcp de progres a faire...
tu sais pas où je peux apprendre des "formules types" : celle a savoir obligatoirement...lol
merci en tout cas.
c'est bien gentil de ta part.
il y a plus de programmation dans ta méthode par rapport a eric.
j'aime bien les deux... ^^
en tout cas j'ai encore bcp de progres a faire...
tu sais pas où je peux apprendre des "formules types" : celle a savoir obligatoirement...lol
merci en tout cas.
c'est bien gentil de ta part.
herod1983
15 janv. 2009 à 22:36
- Messages postés
- 193
- Date d'inscription
- jeudi 2 octobre 2008
- Statut
- Membre
- Dernière intervention
- 3 août 2012
15 janv. 2009 à 22:36
Il y a plus de code tous simplement au cas ou si il y a un problème le code est plus robuste.
Sinon pour des formules type il y a le tuto:
de développez.com
de info3000.com
de vbfrance.com
et de cathyastuce.com
Tous mon pas mal aidé à mes débuts j'ai aussi acheter le livre ExcelVBA pour les nuls qui est vraiment très bien pour les débutants.
Ca fait 1 an que je m'y suis mis et je commence juste à effleurer la partie émergé de l'iceberg lol
En tous cas le tous pour apprendre vite c'est de créer programme sur programme, pour acquérir la syntaxe du code, d'être patient c'est le moins qu'on puisse dire et surtout vive le net et les forums sans cela sa prendrait deux fois plus de temps.
malgré tous quand tu commence à connaître tu t'aperçois de la montagne de chose que tu peux faire et la tu kiffe.
Voila Bonne Continuation
a+
Sinon pour des formules type il y a le tuto:
de développez.com
de info3000.com
de vbfrance.com
et de cathyastuce.com
Tous mon pas mal aidé à mes débuts j'ai aussi acheter le livre ExcelVBA pour les nuls qui est vraiment très bien pour les débutants.
Ca fait 1 an que je m'y suis mis et je commence juste à effleurer la partie émergé de l'iceberg lol
En tous cas le tous pour apprendre vite c'est de créer programme sur programme, pour acquérir la syntaxe du code, d'être patient c'est le moins qu'on puisse dire et surtout vive le net et les forums sans cela sa prendrait deux fois plus de temps.
malgré tous quand tu commence à connaître tu t'aperçois de la montagne de chose que tu peux faire et la tu kiffe.
Voila Bonne Continuation
a+
banbiou
16 janv. 2009 à 18:12
- Messages postés
- 70
- Date d'inscription
- mercredi 6 février 2008
- Statut
- Membre
- Dernière intervention
- 4 août 2015
16 janv. 2009 à 18:12
merci mec, tu as bien raison...
a+ pour un prochain cour de VBA...
a+ pour un prochain cour de VBA...
banbiou
12 janv. 2009 à 12:54
- Messages postés
- 70
- Date d'inscription
- mercredi 6 février 2008
- Statut
- Membre
- Dernière intervention
- 4 août 2015
12 janv. 2009 à 12:54
alors encore plus d'explications...lol
à la ligne 30 j'ai un bouton "3". A ce bouton j'ai accroché une macro pour que celle ci démasque trois lignes :
Sub macro3()
With bouton3 = Checked
Rows("30:33").EntireRow.Hidden = False
End With
End Sub
mais maintenant je veux ajouter une ligne supplémentaire au debut de ma page une ligne 0.
Hors, si j'ajoute une ligne, ma macro va etre décalé elle aussi d'une ligne et ne va pas demasquer la ligne 30, 31, 32, 33 mais les lignes 30+1, 31+1, 32+1, 33+1.... (décalage d'une ligne !!! )
je rajoute souvent des ligne supplementaire, cellule ou colonne... et je ne veux pas changer ma macro a chaque fois, surtout qu'actuellement à la moitier de mon Excel, je suis à une 20aine de macro de ce type....
Voila mon gros souci, y a t'il une fonction qui permettre de suivre mes macro par rapport aux ligne colonne ou cellule que je rajoute..?
Merci
à la ligne 30 j'ai un bouton "3". A ce bouton j'ai accroché une macro pour que celle ci démasque trois lignes :
Sub macro3()
With bouton3 = Checked
Rows("30:33").EntireRow.Hidden = False
End With
End Sub
mais maintenant je veux ajouter une ligne supplémentaire au debut de ma page une ligne 0.
Hors, si j'ajoute une ligne, ma macro va etre décalé elle aussi d'une ligne et ne va pas demasquer la ligne 30, 31, 32, 33 mais les lignes 30+1, 31+1, 32+1, 33+1.... (décalage d'une ligne !!! )
je rajoute souvent des ligne supplementaire, cellule ou colonne... et je ne veux pas changer ma macro a chaque fois, surtout qu'actuellement à la moitier de mon Excel, je suis à une 20aine de macro de ce type....
Voila mon gros souci, y a t'il une fonction qui permettre de suivre mes macro par rapport aux ligne colonne ou cellule que je rajoute..?
Merci