Supprimer ligne dans une feuille en fonction d'une autre [Résolu/Fermé]

Signaler
Messages postés
4
Date d'inscription
vendredi 5 août 2016
Statut
Membre
Dernière intervention
5 août 2016
-
Messages postés
154
Date d'inscription
jeudi 4 août 2016
Statut
Membre
Dernière intervention
9 septembre 2016
-
Bonjour,

je me permets de relancer le sujet car je pense être bloqué sur le même type de problème.

Dans un premier temps j'ai mis en place une macro sur ma feuille 1 qui permet (après click d'un bouton) de masquer les lignes contenant une cellule spécifique vide au sein d'un tableau .

Ce même tableau se trouve sur une seconde feuille et ma question concerne ce point. Je souhaiterai que lorsque le bouton est activé,et qu'il masque les lignes de la feuille 1, il fasse la même chose sur la feuille 2.

En espérant m'être fait comprendre.

Cordialement.

Bab


4 réponses

Messages postés
154
Date d'inscription
jeudi 4 août 2016
Statut
Membre
Dernière intervention
9 septembre 2016
20
Bonjour,

Une simple boucle FOR fera l'affaire :

Tu places avant ton code :
For i = 1 to 2

Dans ton code, tu remplaces Sheets("Feuil1") par :
Sheets("Feuil" & i)

A la fin de ton code, tu incrémentes i avec :
Next i
Messages postés
4
Date d'inscription
vendredi 5 août 2016
Statut
Membre
Dernière intervention
5 août 2016

Bonjour,

Merci pour ta réponse et ta réactivité,

Le soucis est que je n'ai pas de "sheets("feuil1") dans mon code qui est le suivant :

Sub masquer_ligne_Vide()
Dim cel As Range
For Each cel In Range("B10:B92")
If cel = "" Then
cel.EntireRow.Hidden = True
End If
Next
Messages postés
154
Date d'inscription
jeudi 4 août 2016
Statut
Membre
Dernière intervention
9 septembre 2016
20
Il faut que tu rajoutes quelque chose pour ça afin de dissocier les deux feuilles.
Dans ce cas là, j'admets que le nom des deux feuilles est Feuil1 et Feuil2.

Sub masquer_ligne_Vide()
Dim cel As Range
For i = i to 2
Sheets("Feuil" & i).Activate
For Each cel In Range("B10:B92")
If cel = "" Then
cel.EntireRow.Hidden = True
End If
Next
Next i
Messages postés
4
Date d'inscription
vendredi 5 août 2016
Statut
Membre
Dernière intervention
5 août 2016

Je comprend tout à fait la démarche ! mais pourquoi je ne sais pas il m'affiche une erreur : l'indice n'appartient pas à la sélection.

A savoir que mon code se trouve dans thisworkbook et que le nom de mes deux feuilles sont respectivement : BASE DE DONNEES et FEUILLE DE CALCUL

Je te remercie d'avance ;)
Messages postés
154
Date d'inscription
jeudi 4 août 2016
Statut
Membre
Dernière intervention
9 septembre 2016
20
Sub masquer_ligne_Vide()
Dim cel As Range
For i = 0 to 1
Sheets(i).Activate
For Each cel In Range("B10:B92")
If cel = "" Then
cel.EntireRow.Hidden = True
End If
Next
Next i
Messages postés
4
Date d'inscription
vendredi 5 août 2016
Statut
Membre
Dernière intervention
5 août 2016

Parfait cela fonctionne ;)

j'ai simplement du changer :

For i = 0 to 1 par For i = 1 to 2

Merci bcp

Bon week end
Messages postés
154
Date d'inscription
jeudi 4 août 2016
Statut
Membre
Dernière intervention
9 septembre 2016
20
Tout dépendait du nombre de feuilles et de leur placement ;)

Merci de passer le sujet en résolu