Macro pour masquer des lignes sur plusieurs feuilles

Bonjour à tous,

Je viens vous demander un petit coup de main concernant une macro qui fonctionne... à moitié.

J'ai un fichier Excel qui se compose (pour le moment) de 3 feuilles.

Sur la première, j'ai une liste de personne avec des infos les concernant.

Sur la deuxième, j'ai la même liste pour suivre les différents projets de ces personnes.

Sur la troisième, toujours la même liste pour suivre les plannings de ces mêmes personnes.

Pour le moment, j'ai réussi à faire une macro qui me permet de masquer la ligne concernant la personne que je souhaite (via InputBox), suite à un départ ou une absence (je ne veux pas supprimer la ligne pour conserver un historique.

Ci dessous, le code actuel de la macro.

Sub supp_personnel()
    Application.ScreenUpdating = False
    Dim i As Integer
    Dim identifiant As String
    identifiant = InputBox("Veuillez indiquer l'identifiant à supprimer ?", "Suppression personnel")
    With ThisWorkbook.Sheets("Personnel")
                    For i = .Range("A" & .Rows.Count).End(xlUp).Row To 2 Step -1
                            If .Range("A" & i).Value = identifiant Then
        Rows(i).Hidden = True
        End If
       Next i
    End With
    End Sub

Ca fonctionne très bien... sauf que j'aimerais qu'en lançant cette macro, les lignes concernant cette même personne soit masquée sur les 2 autres feuilles, et ça je n'y arrive pas.

Pouvez-vous me dire ce que je dois ajouter à cette macro ? Ou si je dois la retravailler entièrement ?

N'hésitez pas à me demander si je n'ai pas été assez précis dans mes explications.

Merci d'avance.

Loïc

Bonjour,

Si tu ne supprimes pas de ligne tu n'as pas de raison de faire ta boucle en partant de la fin.

Bien d'utiliser With, mais si tu ne mets pas de point devant .Rows(i), tu ne le fais pas référer à la feuille sous With...

Si tes feuilles sont triées de la même façon, et si la même personne se trouve sur la même ligne pour les 3 feuilles, une fois trouvée la ligne dans ta feuille "Personnel", tu n'as plus qu'à masquer la même ligne sur les 2 autres feuilles.

Sinon il faudra faire la recherche sur les 3.

Cordialement.

Salut !

Effectivement... avec le . devant Row de suite ça fonctionne beaucoup mieux.

Non, il ne s'agissait pas de la même ligne à masquer sur chaque feuille.

J'avais essayer de faire la recherche With 3 fois à la suite, mais ça ne fonctionnait pas.

Maintenant que j'ai mis le . devant Row, tout marche impec, merci beaucoup !!

Loïc

Plaidant inlassablement pour qu'on qualifie ses expressions, j'en suis fort content !

Bonne continuation.

Heu... une nouvelle interrogation vient de m'apparaître...

Si je laisse la demande InputBox vide, ça me masque les lignes situés entre le bouton de commande et la première case non vide du tableau du personnel.

Serait-il possible d'ajouter une condition de sorte que si on ne saisisse rien (ou si on clique sur "Annuler") rien ne se passe ?

Encore merci d'avance !

Tu intercales:

    If identifiant = "" Then Exit Sub

Cordialement.

Tout simplement évidemment.

Merci beaucoup, tout est impeccable

Bonne journée.

Rechercher des sujets similaires à "macro masquer lignes feuilles"