Problème avec macro de masque de ligne

  • Initiateur de la discussion Initiateur de la discussion enzo0506
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

enzo0506

XLDnaute Nouveau
Bonjour,

le contexte général: avec mes petites mains et le peu de connaissances en VBA que je possède, j'ai mis au point une feuille excel permettant à mes collègues et moi-même de pouvoir gérer un dossier complet d’étude d'hydraulique (BE environnement et hydraulique).

Le contexte particulier : cette feuille se présente comme un pas à pas (de haut en bas) ; les choix effectués et les données renseignées à l'amont permettent à la feuille de renvoyer les résultats rechercher et surtout, par l’intermédiaire d'une macro de masque de ligne, de s'adapter en fonction.

Le problème : systématiquement, à chaque fois q'une cellule est renseignée, la feuille se déplace automatiquement vers la première cellule (liste de choix - ligne 223) étant la cible d'une macro masque de ligne : ça devient penible de devoir remonter dans la feuille après avoir renseigner chaque cellule.

La question (implicite) : existe-t-il un moyen de prevenir cet effet ? J'ai essayé d'introduire le couple "Application.ScreenUpdating = False - Application.ScreenUpdating = True" dans ma macro, sans effet.

Exemple de macro utilisée :

Public Function masquecell2()
Dim y As String
Range("B223").Select
y = ActiveCell.Value
If y = "Canalisation" Then
Rows("238:256").EntireRow.Hidden = True
Rows("224:237").EntireRow.Hidden = False
Else
Rows("238:256").EntireRow.Hidden = False
Rows("224:237").EntireRow.Hidden = True
End If
End Function

Merci à ceux qui ont pris la peine de lire jusqu'ici mes soucis 😉.

Merci d'avance à ceux qui prendront le temps de me répondre.

A bientôt.

Jeuple

(Re)bonjour le forum,

je reviens vers vous : ma macro "masque de ligne" ne s’exécute pas si parmi mes lignes "cibles" j'ai des cellules protégées.

Existe-t-il un moyen "simple" de contourner le problème en considérant qu'il est sine qua none pour moi de pouvoir protéger le contenu de certaines cellules et pas d'autres.

Merci d'avance.

Jeuple EL Enzo
 
Dernière édition:
Re : Problème avec macro de masque de ligne

Bonjour Enzo (Jeuple), bonjour le forum,

Si cela ce fait automatiquement à chaque nouvelle édition d'une cellule, il doit y avoir une macro événementielle Change dans le composant de l'onglet concerné. Le code que tu nous donnes est celui d'une fonction personnalisée mais pas d'une macro qui s'effectue selon un événement donné. Sans un fichier exemple en pièce jointe difficile de t'aider davantage...
 
Re : Problème avec macro de masque de ligne

(Re)bonjour,

problème résolu grâce aux codes suivants :

Dans un module mes 2 macros de "masque de ligne" selon critère :

Public Function masquecell()
Dim x As String
Range("C93").Select
x = ActiveCell.Value
If x = "INFILTRATION" Then
Rows("95:126").EntireRow.Hidden = True
Rows("127:164").EntireRow.Hidden = False
Else
Rows("95:126").EntireRow.Hidden = False
Rows("127:164").EntireRow.Hidden = True
End If
End Function

Public Function masquecell2()
Dim y As String
Range("B223").Select
y = ActiveCell.Value
If y = "Canalisation" Then
Rows("238:256").EntireRow.Hidden = True
Rows("224:237").EntireRow.Hidden = False
Else
Rows("238:256").EntireRow.Hidden = False
Rows("224:237").EntireRow.Hidden = True
End If
End Function

Dans la feuille concernée la condition d’exécution :

Const pls = 93
Const dls = 223
Const pcs = 3
Const dcs = 2


Private Sub Worksheet_Change(ByVal Target As Range)
colonne = Target.Column
ligne = Target.Row
If (ligne = pls And colonne = pcs) Then Run (masquecell())
If (ligne = dls And colonne = dcs) Then Run (masquecell2())
End Sub

En espérant que ça puisse en aider d'autres.

Cordialement.

EL
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
17
Affichages
2 K
Retour