Bonjour,
Je suis débutante en VBA..Voici ma question :
J’ai un fichier Excel avec plusieurs feuilles. Pour 5 feuilles, je dois pouvoir ajouter une ligne dans ses feuilles. Jusque-là j’ai créé la formule suivante (elle fonctionne bien) :
En résumé, cette formule me demande à quel numéro de ligne le système doit ajouter la nouvelle ligne vierge et le système l’ajoute au même endroit dans toute les feuilles sélectionnées par la MACRO.
MODULE 1
Question :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Sub ajout_ligne_par_feuilles() Dim s As Worksheet, ligne& ligne = InputBox("A quelle position voulez-vous insérer une nouvelle ligne?", "N° Ligne") For Each s In Worksheets Select Case s.Name Case "Retraité - Total", "Facturation - Ass.", "Facturation - SFM", "Retraité - Chèque", "Retraité - Paie" s.Rows(ligne).Insert Shift:=xlDown End Select Next s Application.CutCopyMode = False End Sub
Après avoir ajouté les lignes en question, je dois faire une copie incrémentée des formules de la ligne qui précède la ligne qui vient d’être ajoutée (copier vers le bas) s’il y a une formule, sinon il faudrait que la copie incrémentée se fasse à partir de la ligne suivante (copier vers le haut).
Pour les feuilles 1-2-3, je dois faire une copie incrémentée pour les formules de la ligne précédente ou suivante pour les colonnes A à O.
Pour la feuille 4, je dois faire une copie incrémentée pour les formules de la ligne précédente ou suivante pour les colonnes A à AA.
Pour la feuille 5, je dois faire une copie incrémentée pour les formules de la ligne précédente ou suivante pour les colonnes A, F, I, L et M seulement.
Enfin, si c’est possible, j’aimerais que la macro s’effectue immédiatement à la suite de l’ajout de la ligne dans le module 1 plutôt que de s’effectuer dans un autre module.
Merci pour votre aide!






Répondre avec citation
Partager