ajout_supp ligne dans un fichier

  • Initiateur de la discussion Initiateur de la discussion sergiuspollux
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

S

sergiuspollux

Guest
bonjour,

je suis à la recherche d'une macro qui pourrait

en fonction de la cellule A3= A ; on copie C3..H3
cellule B3= numligne ; on inserre une ligne au numéro de ligne indiqué dans tous l les onglets et on y copie C3..H3

si la cellule A3= S ; on supprime le numero de ligne dans tous les onglets.

avec tous mes remerciements.

Serge
 

Pièces jointes

Re : ajout_supp ligne dans un fichier

Bonsoir à tous

sergiuspollux
Cela fait-il l'affaire ?
Code:
Sub a()
Dim numligne&, ws As Worksheet
numligne = Sheets("modligne").[B3].Value
For Each ws In Worksheets
    If ws.Name <> "modligne" Then
        Select Case Sheets("modligne").[A3].Value
        Case Is = "A"
        ws.Rows(numligne).EntireRow.Insert shift:=xlDown
        Sheets("modligne").Range("C3:H3").Copy ws.Cells(numligne, "B")
        Case Is = "S"
        ws.Rows(numligne).EntireRow.Delete
    End Select
End If
Next ws
End Sub
 
Re : ajout_supp ligne dans un fichier

Bonjour,
effectivement c'est très efficace, j'ai mal analysé mon problème
y a t il moyen de declarer dans quel onglet on veut faire cette opération.
mon classeur va comporter 15 onglets, et je souhaite appliquer cette macro sur 12 onglets bien precis.
désolé de devoir te solliciter a nouveau.
et encore merci.
 
Re : ajout_supp ligne dans un fichier

Bonsoir à tous

sergiuspollux
La réponse est déjà là , non ?
Code:
Sub a()
Dim numligne&, ws As Worksheet
numligne = Sheets("modligne").[B3].Value
For Each ws In Worksheets
If ws.Name <> "modligne" Then ' notamment ici, il suffit d'ajouter les noms des classeurs à éviter
Code:
Select Case Sheets("modligne").[A3].Value
        Case Is = "A"
        ws.Rows(numligne).EntireRow.Insert shift:=xlDown
        Sheets("modligne").Range("C3:H3").Copy ws.Cells(numligne, "B")
        Case Is = "S"
        ws.Rows(numligne).EntireRow.Delete
    End Select
End If
Next ws
End Sub
 
Re : ajout_supp ligne dans un fichier

bonsoir,
je vous remercie pour vos explications, mais je suis inexpérimenté
j'ai taché de trouver par moi meme.

j'ai essayé plusieurs combinaisons, je ne trouve pas la bonne syntaxe
("modligne","feuil3") "modligne","feuil3" ca provoque des erreurs

désolé de vous déranger de nouveau.

Avec tous mes remerciements.
serge
 
Re : ajout_supp ligne dans un fichier

Re

Il faut utiliser And entre chaque nom de feuille
Le temps de te concocter un petit exemple et je reviens
Testes ces deux codes différents pour un même résultat sur un classeur avec 4 feuilles nommées Feuil1, Feuil2, Feuil3, Feuil4
Code:
Sub aTest1()
Dim ws As Worksheet
For Each ws In Worksheets
If ws.Name <> "Feuil1" And ws.Name <> "Feuil2" Then 'noms des feuilles  différente de Feuil1 et Feuil2
MsgBox ws.Name
End If
Next ws
End Sub
Code:
Sub aTest2()
Dim ws As Worksheet
For Each ws In Worksheets
Select Case ws.Name
Case Is = "Feuil3", "Feuil4" 'ici nom feuilles = Feuil3 et Feuil 4
MsgBox ws.Name
End Select
Next ws
End Sub

Il te suffit ensuite d'adapter la syntaxe de ton choix sur la macro nommée a que j'ai précédemment posté.
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour