RESOLU Suprimer des lignes dans plusieurs feuilles en même temps

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonsoir à tous,
Toujours dans mon classeur de suivi de présence, je souhaiterais pouvoir supprimer des lignes dans plusieurs feuilles en même temps.

Voici la macro toute simple que j'ai fait (enfin, heu.... pas moi mais excel)

Sub supprimerligne()
'
' supprimerligne Macro
'

'
Sheets("TicketsRest").Select
ActiveSheet.Unprotect
Sheets("Synthèse").Select
ActiveSheet.Unprotect
Sheets("matrice").Select
ActiveSheet.Unprotect
Sheets(Array("matrice", "Synthèse", "TicketsRest")).Select
Sheets("matrice").Activate
Rows("14:14").Select
Selection.Delete Shift:=xlUp

Sheets("TicketsRest").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Rows("14:14").Select
ActiveSheet.Unprotect
Range("A1:R3").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Sheets("TicketsRest").Select
ActiveWindow.LargeScroll Down:=0
Sheets("Synthèse").Select
Range("A3").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Sheets("matrice").Select
Range("A10").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

Bien évidement, même si dans cette macro, j'ai demandé à supprimer la ligne "14"( voire ligne en rouge), d'autres fois, ce seront des lignes différentes.

C'est pourquoi, je voudrais que la macro que demande quelles lignes je veux supprimer.

Cela est-il possible ?

Pouvez-vous m'aider ?

Avec mes remerciements,
Amicalementn,
Lionel,
 
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : Suprimer des lignes dans plusieurs feuilles en même temps

Bonjour JM,
J'espère que vous avez passé un bon Noel.
J'ai essayé votre macro mais elle ne supprime que la ligne 14 de la première page, rien ne se passe sur les deux autres feuilles,

D'autre part, je peux avoir plusieurs lignes à supprimer et jamais les mêmes,

Votre code suivant me convenait mieux car il me laissait la possibilité de dire quelle(s) ligne(s) je souhaite supprimer sans avoir à entrer dans la macro. Cependant, elle aussi ne supprime que sur une seule feuille.
Sub b()
Dim lignes As Range, MSerr&
On Error Resume Next
Application.DisplayAlerts = False
Set lignes = Application.InputBox _
(Prompt:="selectionner les lignes à supprimer ", _
Title:="Suppresion de ligne (Selection)", _
Type:=8)
On Error GoTo 0
If Not (lignes Is Nothing) Then
lignes.EntireRow.Delete
Else
MSerr = MsgBox("Selection invalide , Recommencer ?", 33, "Information")
If MSerr = vbCancel Then
Exit Sub
Else
Run "b"
End If
End If
End Sub

Amicalement,
Lionel,
 

Staple1600

XLDnaute Barbatruc
Re : Suprimer des lignes dans plusieurs feuilles en même temps

Bonsoir



Votre code suivant me convenait mieux car il me laissait la possibilité de dire quelle(s) ligne(s) je souhaite supprimer sans avoir à entrer dans la macro. Cependant, elle aussi ne supprime que sur une seule feuille.
Assertion erronée puisque ce code n'est pas employé dans le code le message #14.

La lassitude va finir par me guetter au coin de ton fil...:rolleyes:

Pour prendre en compte toutes les feuilles, remplacer par
Code:
Private Sub suplig(ligne&, ParamArray tf() As Variant)
Dim i As Byte
For i = 0 To UBound(tf)
With Sheets(tf(i))
    .Unprotect
    .Rows(ligne & ":" & ligne).Delete Shift:=xlUp
    .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End With
Next i
End Sub
 
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : Suprimer des lignes dans plusieurs feuilles en même temps

Bonsoir JM,
Merci pour votre réponse.
Mais je n'y arrive pas.
VBA, je ne connais pas.
Je suis désolé que la lassitude vous ai gagné mais je vous comprends.
Toutefois, je cherchais plus une solution qu'une formation qui n'est pas encore à ma portée. Mais tout cela n'aura pas servi à rien.
En effet, les explications que vous m'avez fourni et les solutions aussi m'ont été d'une grande utilité, certaines m'ont fait progreeser, les autres n'étaient à la portée de mes connaissances actuelles.
Alors, je vais stopper là et vous remercier encore de tout le temps que vous m'avez accordé et de la patience dont vous avez fait preuve.
Merci Jm,
Amicalement,
Lionel,
 

Staple1600

XLDnaute Barbatruc
Re : Suprimer des lignes dans plusieurs feuilles en même temps

RE


j'ai écris: va finir pas a fini...

Maintenant il est vrai que ma pédagogie est assez spéciale (mais bon tant que je laisse pas de marque derrière la base du crane, ça reste supportable, non ? )

Toutefois, je cherchais plus une solution qu'une formation qui n'est pas encore à ma portée. Mais tout cela n'aura pas servi à rien.

Je n'aime pas donner de solution toute prête, je préfère faire suer le demandeur dans son burnou, pour qu'au final, il soit content d'avoir solutionner son problème en appliquant lui-même les suggestions que l'on poste dans son fil.
 
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : Suprimer des lignes dans plusieurs feuilles en même temps

RE


j'ai écris: va finir pas a fini...

Vous y avez pensé ou vous y pensé et je vous comprends mais je ne souhaite pas cela et je préfère me retirer car je n'aime pas vraiment provoquer la lassitude.

[/QUOTE]Maintenant il est vrai que ma pédagogie est assez spéciale (mais bon tant que je laisse pas de marque derrière la base du crane, ça reste supportable, non ? )[/QUOTE]

le problème n'est pas "marque au crâne" ou autre chose. Simplement, je ne connais pas VBA et malgré "nos" efforts communs, je ne sais pas pour l'instant faire un code et ce n'est pas, je pense en quelques mots que, par miracle, ho ! miracle... je saurais. Cela me désole, nous ne sommes pas magiciens..... ce serait super ça aussi !

[/QUOTE]Je n'aime pas donner de solution toute prête, je préfère faire suer le demandeur dans son burnou, pour qu'au final, il soit content d'avoir solutionner son problème en appliquant lui-même les suggestions que l'on poste dans son fil.[/QUOTE]

J'ai pas mal travaillé sur mes fichiers, sué même comme j'ai l'habitude de le faire mais pour le côté VBA, je venais en effet chercher des solutions "toutes faites", des réponses principalement. Malheureusement, je suis bien incapable d'appliquer les suggestions qui peuvent m'être données.

Encore merci pour tout ce que vous avez fait, j'y suis et j'y resterai sensible.
Amicalement,
Lionel
 

Staple1600

XLDnaute Barbatruc
Re : Suprimer des lignes dans plusieurs feuilles en même temps

Re


Je ne pense à rein, j'ironise
Voir ici pour comprendre
Voir le profil: Staple1600 - Excel Downloads Forums
(ci BIOGRAPHY)

Personnellement, j'ai tout mon temps.

Et toi ? Tu as le temps et l'envie de passer derrière l'enregistreur de macros ?
Je crois bien que tu es capable de comprendre comment écrire son propre code VBA.
Mais si tu veux des solutions toutes faites, c'est moins enrichissant non ?

Si on peut plus taquiner les petits nouveaux (en toute amitié), ça va être triste.

PS: Au cas ou je t'aurai froissé, j'en suis désolé ce n'était pas le but.
 
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : Suprimer des lignes dans plusieurs feuilles en même temps

Bonjour JM,
Merci pour ton mot,
Je suis content pour toi que tu aies tout ton temps. Ce n’est pas encore mon cas, je n’ai pas tout mon temps mais je souhaite passer du temps à apprendre VBA et ce ne sera pas facile pour moi qui ne parle pas l’anglais mais je ferai l’effort de me faire un lexique.
Je souhaite aussi passer derrière l’enregistreur de macro. C’est aussi une certitude.
En revanche, je ne pense pas que je puisse comprendre de cette façon mais plutôt avec la solution que je pourrais analyser pas à pas car je ne suis pas en mesure de modifier tes propositions et de trouver les solutions finales.
Je pense que chacun a sa façon d’évoluer et d’apprendre. La mienne ne me semble pas être la méthode que tu m’offres pourtant avec gentillesse et patience. Je ne peux écrire ce que je ne sais pas écrire.
Enfin, en ce qui concerne « le taquinage », je suis un adepte de l’humour, de la plaisanterie et je suis plutôt un joyeux plaisantin. Mais peut-être que je pratique quand je connais « le réceptionniste » et sa psychologie. Et puis, ne dit-on pas que les choses dites en plaisantant sont dites quand même…..Méditons ami la psychologie est un vaste domaine semé d’incompréhensions.
Tu ne m’as pas froissé mais tu as titillé mon côté réactionnel car je cela m’interpelle quand j’attire la lassitude.
Alors, tu me le donnes ce code ? :
- que je puisse et avancer sur mon classeur (j’en ai encore d’autres à demander)
- que je puisse le décortiquer pour comprendre et évoluer selon le fonctionnement de mon neurone.

Amicalement,
Lionel,
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Suprimer des lignes dans plusieurs feuilles en même temps

Bonjour

Bonjour JM,

Alors, tu me le donnes ce code ? :
- que je puisse et avancer sur mon classeur (j’en ai encore d’autres à demander)
- que je puisse le décortiquer pour comprendre et évoluer selon le fonctionnement de mon neurone.

Amicalement,
Lionel,

N'est-ce pas ce que j'ai fait tout au long de ce fil ??? Te donner du code.

Qu'est-ce qui te manques ?

Je t'ai aussi indiqué la source de l'erreur dans ton code du message #14.

Je vois pas quel code supplémentaire je pourrai poster dans ton fil.

A part une variante de l'existant.
Code:
Sub MainPROC()
Dim lignes As Range, MSerr&
Application.DisplayAlerts = False
Set lignes = Application.InputBox _
            (Prompt:="selectionner les lignes à supprimer ", _
            Title:="Suppression de ligne (Selection)", _
            Type:=8)
suplig lignes.Address, "Feuil1", "Feuil2", "Feuil3"
End Sub
Code:
Private Sub suplig(lignes$, ParamArray tf() As Variant)
Dim i As Byte
For i = 0 To UBound(tf)
With Sheets(tf(i))
    .Unprotect
    .Range(lignes).EntireRow.Delete
    .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End With
Next i
End Sub

Pour tester, lances la macro MainPROC puis sélectionnes (avec la touche CTRL si multilignes) des lignes sur la feuille 1, ces lignes seront alors supprimées sur les 3 feuilles.

PS: j e n'ai pas le temps de remettre la gestion d'erreur tout de suite, car je repars au boulot de suite.
Essaie de voir si tu y arrives (en utilisant le code des précédents messages)
 
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : Suprimer des lignes dans plusieurs feuilles en même temps

Re,
Bien, je vais tout reprendre car je n'ai pas réussi à en faire marcher un seul.
Je crois que tu idéalises mes capacités.
Là, je sors et ensuite, au retour je vois cela et je te fais un rapport "aux p'tits oignons".
Merci encore,
Amicalement,
Lionel,
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : Suprimer des lignes dans plusieurs feuilles en même temps

Bon désolé mais faut que je me sauve (je repasse après ma débauche)


En tout cas, j'ai testé mon dernier code et il fonctionne sur les 3 feuilles
(Il faut bien sur que les feuilles se nomment Feuil1 Feuil2 et Feuil3 ou il faut changer le nom des feuilles dans le code)

J'ai essayé, j'ai placé les deux codes dans le module de macro d'un nouveau classeur et cela n'a pas marché.

Peut-être faut-il place le second code "private" ailleurs ?

Tu vois, la couche est épaisse ! Il va falloir que tu viennes en Tunisie car je ne vois pas comment y arriver sans ça LOL !

Amicalement,
Lionel,
 

Staple1600

XLDnaute Barbatruc
Re : Suprimer des lignes dans plusieurs feuilles en même temps

Bonsoir


Avant d'aller plus loin, peux-tu faire le test suivant, stp
proctest.jpg
Clique sur l'image pour la voir en grand.

Voici la macro de test
Code:
Sub MainPROCpourTEST()
Dim lignes As Range
Application.DisplayAlerts = False
Set lignes = Application.InputBox _
            (Prompt:="selectionner les lignes à supprimer ", _
            Title:="Suppression de ligne (Selection)", _
            Type:=8)
MsgBox lignes.Address
End Sub
 

Staple1600

XLDnaute Barbatruc
Re : Suprimer des lignes dans plusieurs feuilles en même temps

Re

Ça, je le sais, c'était juste une macro de test pour être sur que vous faisiez bien les bonnes manipulations.
(cela me semblait limpide dans mon précédent message)
Sub MainPROCpourTEST() ' le nom veut tout dire
et la macro est différente de la macro du message #23 puisque je n'ai pas mis le code relatif à la suppression de lignes et que je l'ai remplacé par cette ligne
MsgBox lignes.Address



Donc puisque vous avez pu faire ce test, normalement la macro proposée dans le message #23 doit aussi fonctionner, non ?
(Vous m'aviez précédemment dit que non)
 
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : Suprimer des lignes dans plusieurs feuilles en même temps

:confused:RE,
Alors là, je n'y comprends rien !
effectivement ça marche super.
Je me demande ce que j'avais fait ?
Un grand merci pour tout ça.
Vraiment un grand merci...... et pour la patience aussi
Amicalement,
Lionel

PS : j'ai quelques autres codes à demander mais je crois que je vais laisser le forum se reposer un peu (quelques instants LOL)
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 183
dernier inscrit
karelhu35