VBA : inserer ligne sur plusieurs feuilles

Résolu
2pax.cruz -  
 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.

7 réponses

  1. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
  2. david_wklw Messages postés 43 Statut Membre 4
     
    tu veux que cela s'joute dans toutes les feuilles ou seulement certaines ?
    0
  3. 2pax.cruz
     
    Bah ça dépend des cas.

    Donc je veux bien la solution pour les deux :)

    Merci d'avance.
    0
  4. david_wklw Messages postés 43 Statut Membre 4
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. david_wklw Messages postés 43 Statut Membre 4
     
    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
    1. lermite222 Messages postés 9042 Statut Contributeur 1 199
       
      Bon, beh alors mon excel 2007 est bon pour la poubelle pasqu'y va pas non plus. :D
      A+
      0
  7. lurock
     
    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