ajout_supp ligne dans un fichier

sergiuspollux

XLDnaute Junior
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

  • ajou_sup_lign.xls
    19 KB · Affichages: 41

Staple1600

XLDnaute Barbatruc
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
 

sergiuspollux

XLDnaute Junior
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.
 

Staple1600

XLDnaute Barbatruc
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
 

sergiuspollux

XLDnaute Junior
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
 

Staple1600

XLDnaute Barbatruc
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:

Discussions similaires

Réponses
7
Affichages
360

Statistiques des forums

Discussions
312 503
Messages
2 089 062
Membres
104 014
dernier inscrit
Aurélie MONTEIL