Supprimer ligne dans une feuille en fonction d'une autre

Résolu/Fermé
Fiiitch Messages postés 4 Date d'inscription vendredi 5 août 2016 Statut Membre Dernière intervention 5 août 2016 - 5 août 2016 à 14:31
Ant049 Messages postés 154 Date d'inscription jeudi 4 août 2016 Statut Membre Dernière intervention 9 septembre 2016 - 5 août 2016 à 16:00
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


A voir également:

4 réponses

Ant049 Messages postés 154 Date d'inscription jeudi 4 août 2016 Statut Membre Dernière intervention 9 septembre 2016 22
5 août 2016 à 14:54
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
0
Fiiitch Messages postés 4 Date d'inscription vendredi 5 août 2016 Statut Membre Dernière intervention 5 août 2016
5 août 2016 à 15:10
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
0
Ant049 Messages postés 154 Date d'inscription jeudi 4 août 2016 Statut Membre Dernière intervention 9 septembre 2016 22
5 août 2016 à 15:19
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
0
Fiiitch Messages postés 4 Date d'inscription vendredi 5 août 2016 Statut Membre Dernière intervention 5 août 2016
5 août 2016 à 15:37
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 ;)
0
Ant049 Messages postés 154 Date d'inscription jeudi 4 août 2016 Statut Membre Dernière intervention 9 septembre 2016 22
5 août 2016 à 15:40
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
0
Fiiitch Messages postés 4 Date d'inscription vendredi 5 août 2016 Statut Membre Dernière intervention 5 août 2016
5 août 2016 à 15:59
Parfait cela fonctionne ;)

j'ai simplement du changer :

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

Merci bcp

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

Merci de passer le sujet en résolu
0