VBA : inserer ligne sur plusieurs feuilles

Résolu/Fermé
2pax.cruz - 15 juil. 2010 à 11:29
 lurock - 15 juil. 2015 à 12:39
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.
A voir également:

7 réponses

lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
15 juil. 2010 à 13:44
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.
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+

1
david_wklw Messages postés 41 Date d'inscription jeudi 15 juillet 2010 Statut Membre Dernière intervention 29 juin 2012 4
15 juil. 2010 à 11:47
tu veux que cela s'joute dans toutes les feuilles ou seulement certaines ?
0
Bah ça dépend des cas.

Donc je veux bien la solution pour les deux :)


Merci d'avance.
0
david_wklw Messages postés 41 Date d'inscription jeudi 15 juillet 2010 Statut Membre Dernière intervention 29 juin 2012 4
15 juil. 2010 à 12:32
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
0

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

Posez votre question
Un grand merci.
0
david_wklw Messages postés 41 Date d'inscription jeudi 15 juillet 2010 Statut Membre Dernière intervention 29 juin 2012 4
15 juil. 2010 à 15:10
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.
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
15 juil. 2010 à 15:27
Bon, beh alors mon excel 2007 est bon pour la poubelle pasqu'y va pas non plus. :D
A+
0
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
0