[Résolu] Insertion ligne automatique (avec formule) sur plusieurs feuilles

Jahvik

XLDnaute Nouveau
Bonjour à toutes et à tous,

Je fais appel à vous car je bloque sur un petit fichier Excel, qui je crois nécessite des connaissances en VBA...Celui-ci après avoir été remis en forme et mis à jour par moi même comporte plusieurs formules différentes sur chaque onglet.

Je cherche à l'aide d'une macro, d'avoir la possibilité d'ajouter une ligne sur ma Feuil1 et que celle-ci s'ajoute ensuite sur les autres Feuil2 et Feuil3. Et ce en ajoutant à cette nouvelle ligne, la formule qui devrait lui être attribué.

J'ai déjà une petite macro qui copie la formule lors de l'insertion d'une ligne :
Sub ajout_ligne()
ligne = InputBox("A quelle position voulez-vous insérer une nouvelle ligne?", "N° Ligne")
Rows(ligne).Copy
Rows(ligne + 1).Insert Shift:=xlDown
End Sub

Dans mon fichier joint (tableau super simple), les cellules avec formules sont en bleu. Merci de votre aide :) !
 

Pièces jointes

  • Test_insertion_ligne.xlsm
    26.9 KB · Affichages: 599
  • Test_insertion_ligne.xlsm
    26.9 KB · Affichages: 636
  • Test_insertion_ligne.xlsm
    26.9 KB · Affichages: 682
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Inertion ligne automatique (avec formule) sur plusieurs feuilles

Bonsoir

En joignant un xls plutôt qu'un xlsm , plus de membres du forum pourront tester ton fichier.
(Tout le monde n'est pas encore sous Excel 2007 ou 2010)

Essaie avec ceci (à tester plus avant)
Code:
Sub ajout_ligne()
Dim s As Worksheet, ligne&
ligne = InputBox("A quelle position voulez-vous insérer une nouvelle ligne?", "N° Ligne")
For Each s In Worksheets
s.Rows(ligne).Copy
s.Rows(ligne + 1).Insert Shift:=xlDown
Next s
Application.CutCopyMode = False
End Sub
 
Dernière édition:

Jahvik

XLDnaute Nouveau
Re : Inertion ligne automatique (avec formule) sur plusieurs feuilles

@Stale1600, merci infiniment pour ton aide ! Ce code que tu m'as proposé est très efficace et fonctionne à merveille :eek:
Merci encore, ça m'enlève une grosse épine du pied ! Bonne soirée :)
 

Jahvik

XLDnaute Nouveau
Re : Inertion ligne automatique (avec formule) sur plusieurs feuilles

En fait, tu as raison. Je me suis un peu emballé :)
Le programme VBA correspond bien à ma question, mais en fait, je viens de me rendre compte que ce ne sont pas toutes les feuilles excel que je veux modifier. Je voulais savoir s'il était possible de faire l'insertion ligne automatique (avec formule) uniquement sur les Feuil1, Feuil2, Feuil3 ; mais pas sur la Feuil4.

Merci pour ton coup de main, et désolé de t'importuner :)
 

Pièces jointes

  • Test_insertion_ligne.xlsm
    34 KB · Affichages: 254
  • Test_insertion_ligne.xlsm
    34 KB · Affichages: 256
  • Test_insertion_ligne.xlsm
    34 KB · Affichages: 270

jpb388

XLDnaute Accro
Re : Insertion ligne automatique (avec formule) sur plusieurs feuilles

Bonjour
Autre version
a+
jp
 

Pièces jointes

  • Test_insertion_ligne.xlsm
    32.2 KB · Affichages: 609
  • Test_insertion_ligne.xlsm
    32.2 KB · Affichages: 554
  • Test_insertion_ligne.xlsm
    32.2 KB · Affichages: 538

Jahvik

XLDnaute Nouveau
Re : [Resolu] Insertion ligne automatique (avec formule) sur plusieurs feuilles

Ben justement, si. Honnêtement, j'ai vraiment rouvé ton programme au point :) Ca m'a meme permis de comprendre un peu mieux le VBA et ca, c'est une performance.
En fait j'ai un dernier petit souci et ensuite mon probleme devrait etre réglé. Voilà, grace à ton programme, l'insertion de la ligne se fait pour chaque feuille et respecte en plus les formules attribuées. Je voulais savoir s'il était possible de faire une insertion (à partir du bouton "Insertion ligne") uniquement pour les Feuil1, Feuil2, Feuil3 ; mais en aucun cas, je ne dois modifier la Feuil4.

Est-ce possible ? J'apprécie vraiment ton aide ;)
 

Pièces jointes

  • Test_insertion_ligne.xlsm
    33 KB · Affichages: 297
  • Test_insertion_ligne.xlsm
    33 KB · Affichages: 318
  • Test_insertion_ligne.xlsm
    33 KB · Affichages: 356

Staple1600

XLDnaute Barbatruc
Re : Insertion ligne automatique (avec formule) sur plusieurs feuilles

Re

Oh ce n'est rien
Il suffit de 3 touches pour y remédier : ALT+F11 puis F1 :eek:

EDITION: Voici de quoi t'inspirer
Code:
Sub a()
Dim s As Worksheet
For Each s In Worksheets
Select Case s.Name
Case "Feuil1", "Feuil2", "Feuil3"
MsgBox s.Name
End Select
Next s
End Sub
 
Dernière édition:

Jahvik

XLDnaute Nouveau
Insertion ligne automatique (avec formule) sur plusieurs feuilles

Eh bien manifestement, la méthode avec l'instruction "Select Case" marche super bien ! Pour ceux intéressés (merci beaucoup à Staple1600 et jpb388), voici l'instruction à suivre.

Dans mon exemple ci-après, le fichier Excel comporte quatre feuilles Feuil1, Feuil2, Feuil3, Feuil4 et le but est de copier une ligne avec formule correspondante dans les feuilles 1, 2 et 3 (pas de copie dans la 4) :
**************Ajout ligne & formule pour feuilles 1, 2 et 3 uniquement***************
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 "Feuil1", "Feuil2", "Feuil3"
s.Rows(ligne).Copy
s.Rows(ligne).Insert Shift:=xlDown
End Select
Next s

Application.CutCopyMode = False

End Sub
*****************************************************************

A présent, même chose mais pour supprimer une ligne dans chaque feuille :
**********Suppression ligne & formule pour feuilles 1, 2 et 3 uniquement**********
Sub suppression_ligne_par_feuilles()
Dim s As Worksheet, ligne&
ligne = InputBox("Quelle ligne voulez-vous supprimer ?", "N° Ligne")

For Each s In Worksheets
Select Case s.Name
Case "Feuil1", "Feuil2", "Feuil3"
s.Rows(ligne).Delete Shift:=xlUp
End Select
Next s

Application.CutCopyMode = False

End Sub
******************************************************************
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 203
Messages
2 086 197
Membres
103 153
dernier inscrit
SamirN