Macro insertion ligne Excel, macro ne suit pa

Résolu/Fermé
banbiou
Messages postés
70
Date d'inscription
mercredi 6 février 2008
Statut
Membre
Dernière intervention
4 août 2015
- 12 janv. 2009 à 10:58
banbiou
Messages postés
70
Date d'inscription
mercredi 6 février 2008
Statut
Membre
Dernière intervention
4 août 2015
- 6 févr. 2009 à 15:31
Bonjour,

Meilleurs voeux à tous
*.....

Alors petite question: j'ai realisé un fichier Excel avec Macro. Mais mon problème est qu'il faut que je change les données (cellules) da ma macro à chaque fois que j'insere une ligne dans mon fichier Excel.
Ex.:

Sub macro3()

With bouton3 = Checked
Rows("30:33").EntireRow.Hidden = False
End With
End Sub


si j'insere la ligne 20, ma macro sera décaler d'une ligne.....
Il a t'il une fonction qui permet de synchroniser ma macro en tps réel ??? Permet de suivre mes modifications Excel...

Vous me suivez...lol. Je m'exprime mal peu etre, si vous avez des questions je vous repondrais avec plaisir.

Merci à toi et toi et toi et toi et..................

12 réponses

herod1983
Messages postés
193
Date d'inscription
jeudi 2 octobre 2008
Statut
Membre
Dernière intervention
3 août 2012
5
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?

0
herod1983
Messages postés
193
Date d'inscription
jeudi 2 octobre 2008
Statut
Membre
Dernière intervention
3 août 2012
5
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

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

0
banbiou
Messages postés
70
Date d'inscription
mercredi 6 février 2008
Statut
Membre
Dernière intervention
4 août 2015
32
12 janv. 2009 à 14:12
une idée herod1983...?
0
banbiou
Messages postés
70
Date d'inscription
mercredi 6 février 2008
Statut
Membre
Dernière intervention
4 août 2015
32
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.
0
eriiic
Messages postés
24408
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
23 juin 2022
7 089
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
eriiic
Messages postés
24408
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
23 juin 2022
7 089
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
0
banbiou
Messages postés
70
Date d'inscription
mercredi 6 février 2008
Statut
Membre
Dernière intervention
4 août 2015
32
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...
0
eriiic
Messages postés
24408
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
23 juin 2022
7 089
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
0
banbiou
Messages postés
70
Date d'inscription
mercredi 6 février 2008
Statut
Membre
Dernière intervention
4 août 2015
32
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.
0
eriiic
Messages postés
24408
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
23 juin 2022
7 089 > banbiou
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
0
banbiou
Messages postés
70
Date d'inscription
mercredi 6 février 2008
Statut
Membre
Dernière intervention
4 août 2015
32 > eriiic
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
0
eriiic
Messages postés
24408
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
23 juin 2022
7 089 > banbiou
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
0
banbiou
Messages postés
70
Date d'inscription
mercredi 6 février 2008
Statut
Membre
Dernière intervention
4 août 2015
32 > eriiic
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,
0
herod1983
Messages postés
193
Date d'inscription
jeudi 2 octobre 2008
Statut
Membre
Dernière intervention
3 août 2012
5
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.
0
banbiou
Messages postés
70
Date d'inscription
mercredi 6 février 2008
Statut
Membre
Dernière intervention
4 août 2015
32
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
0
herod1983
Messages postés
193
Date d'inscription
jeudi 2 octobre 2008
Statut
Membre
Dernière intervention
3 août 2012
5
13 janv. 2009 à 20:54
Ok je vais me pencher sur le problème je te tiens au courant
0
banbiou
Messages postés
70
Date d'inscription
mercredi 6 février 2008
Statut
Membre
Dernière intervention
4 août 2015
32
13 janv. 2009 à 21:30
merci herod
0
herod1983
Messages postés
193
Date d'inscription
jeudi 2 octobre 2008
Statut
Membre
Dernière intervention
3 août 2012
5
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.

0
banbiou
Messages postés
70
Date d'inscription
mercredi 6 février 2008
Statut
Membre
Dernière intervention
4 août 2015
32
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.
0
herod1983
Messages postés
193
Date d'inscription
jeudi 2 octobre 2008
Statut
Membre
Dernière intervention
3 août 2012
5
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+
0
banbiou
Messages postés
70
Date d'inscription
mercredi 6 février 2008
Statut
Membre
Dernière intervention
4 août 2015
32
16 janv. 2009 à 18:12
merci mec, tu as bien raison...
a+ pour un prochain cour de VBA...
0
banbiou
Messages postés
70
Date d'inscription
mercredi 6 février 2008
Statut
Membre
Dernière intervention
4 août 2015
32
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
-1