VBA : inserer ligne sur plusieurs feuilles
Résolu
2pax.cruz
-
lurock -
lurock -
Bonjour,
est ce possible de faire en sorte que lorsqu'on insère une feuille sur la feuille A, elle s'insère aussi sur la feuille B, C, ... ?
Je sais qu'on peut le faire en sélectionnant les feuilles mais je ne sais pas si on sait le faire automatiquement.
Ce que je pourrais faire, c'est une macro qui sélectionne les feuilles avant mais alors, il faudrait que je change le menu contextuel de Excel pour qu'il me lance ma macro au lieu d'insérer la ligne comme il le fait d'habitude, ce que je ne sais pas faire.
Merci.
est ce possible de faire en sorte que lorsqu'on insère une feuille sur la feuille A, elle s'insère aussi sur la feuille B, C, ... ?
Je sais qu'on peut le faire en sélectionnant les feuilles mais je ne sais pas si on sait le faire automatiquement.
Ce que je pourrais faire, c'est une macro qui sélectionne les feuilles avant mais alors, il faudrait que je change le menu contextuel de Excel pour qu'il me lance ma macro au lieu d'insérer la ligne comme il le fait d'habitude, ce que je ne sais pas faire.
Merci.
A voir également:
- Vba insérer plusieurs lignes
- Insérer video powerpoint - Guide
- Insérer signature word - Guide
- Insérer liste déroulante excel - Guide
- Insérer sommaire word - Guide
- Insérer espace insécable word - Guide
7 réponses
Bonjour,
david_wklw.. Tu a testé ta macro ?? chez moi elle va pas !!
Un exemple qui fonctionne.
Mettre le curseur sur la ligne où ajouter une nouvelle ligne et envoyer la macro.
Tu as les deux solutions, toutes les feuilles (comme l'exemple) ou une sélection de feuilles comme indiquer entre les doubles guillemets.
Et il n'y a aucun problème pour mettre un bouton sur la feuille et appeller cette macro.
A+
david_wklw.. Tu a testé ta macro ?? chez moi elle va pas !!
Un exemple qui fonctionne.
Mettre le curseur sur la ligne où ajouter une nouvelle ligne et envoyer la macro.
Sub AjouterLignes() Dim Ligne As Long, F As Integer Ligne = ActiveCell.Row For F = 1 To Sheets.Count 'Ici si des feuilles ne doivent pas êtres traitées libérer 'Les doubles guillemets et ajuster les noms des feuilles ''If Not (Sheets(F).Name = "Feuil1" Or Sheets(F).Name = "Feuil3") Then Sheets(F).Rows(Ligne).Insert Shift:=xlDown ''End If Next F End Sub
Tu as les deux solutions, toutes les feuilles (comme l'exemple) ou une sélection de feuilles comme indiquer entre les doubles guillemets.
Et il n'y a aucun problème pour mettre un bouton sur la feuille et appeller cette macro.
A+
pour lancer la macro, je te conseille vivement d'attribuer une combinaison de touche a ta macro, plutot que de chercher la modification du menucontextuel qui sera très difficile d'après moi.
Un exemple de macro pour les feuilles a traiter Feuil3 et Feuil4. Après faudra broder, adapter. Et si c'est pour toutes les feuilles, tu peux faire une boucle en adaptant un peu quoi.
Dim FeuilleActive
Dim FeuillesATraiter
Dim CelluleActive
FeuillesATraiter = Array("Feuil3", "Feuil4")
CelluleActive = ActiveCell.Address
FeuilleActive = ActiveSheet.Name
Sheets(FeuillesATraiter).Select
Sheets(FeuilleActive).Activate
Selection.EntireRow.Select
Selection.Insert Shift:=xlDown
Worksheets(FeuilleActive).Select
Range(CelluleActive).Select
Un exemple de macro pour les feuilles a traiter Feuil3 et Feuil4. Après faudra broder, adapter. Et si c'est pour toutes les feuilles, tu peux faire une boucle en adaptant un peu quoi.
Dim FeuilleActive
Dim FeuillesATraiter
Dim CelluleActive
FeuillesATraiter = Array("Feuil3", "Feuil4")
CelluleActive = ActiveCell.Address
FeuilleActive = ActiveSheet.Name
Sheets(FeuillesATraiter).Select
Sheets(FeuilleActive).Activate
Selection.EntireRow.Select
Selection.Insert Shift:=xlDown
Worksheets(FeuilleActive).Select
Range(CelluleActive).Select
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
oui, sous excel 2007 ma macro fonctionne très bien et je préfère ma solution qui permet de faire une sélection multiple, donc d'en insérer plusieurs.. après comme je l'indique, c'est une base pour faire mieux.
bonjour,
Je voulais savoir ou intégrer le macro "Dim FeuilleActive
Dim FeuillesATraiter
Dim CelluleActive
FeuillesATraiter = Array("Feuil3", "Feuil4")
CelluleActive = ActiveCell.Address
FeuilleActive = ActiveSheet.Name
Sheets(FeuillesATraiter).Select
Sheets(FeuilleActive).Activate
Selection.EntireRow.Select
Selection.Insert Shift:=xlDown
Worksheets(FeuilleActive).Select
Range(CelluleActive).Select"
si c'est sur la feuille de départ ou d'arriver ou a tout le fichier (si c'est possible)
Merci d'avance
Je voulais savoir ou intégrer le macro "Dim FeuilleActive
Dim FeuillesATraiter
Dim CelluleActive
FeuillesATraiter = Array("Feuil3", "Feuil4")
CelluleActive = ActiveCell.Address
FeuilleActive = ActiveSheet.Name
Sheets(FeuillesATraiter).Select
Sheets(FeuilleActive).Activate
Selection.EntireRow.Select
Selection.Insert Shift:=xlDown
Worksheets(FeuilleActive).Select
Range(CelluleActive).Select"
si c'est sur la feuille de départ ou d'arriver ou a tout le fichier (si c'est possible)
Merci d'avance