Format de cellule "formule" pose probleme sur macro

  • Initiateur de la discussion Initiateur de la discussion gvives
  • 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 !

gvives

XLDnaute Occasionnel
Bonjour à tous,

J'ai un petit soucis avec une macro VBA qui est la suivante.

Private Sub Worksheet_Change(ByVal Target As Range)
If Split(Target.Address, "$")(1) = "H" Then
Select Case UCase(Target.Value)
Case "OUI", ""
Rows(Target.Row + 1).Hidden = True
Case "NON"
Rows(Target.Row + 1).Hidden = False
End Select
End If
End Sub

Ce code me permet de créer un questionnaire dynamique qui fait apparaitre des lignes (donc des questions) par rapport à la réponse (oui / non) indiquée sur la ligne précédente dans la colonne H. Cependant voilà j'ai également prévu des formules pour définir les "oui / non" de certaines cases et il me semble que lorsque ces "oui / non" proviennent d'une formule ils ne sont pas pris en compte.

Auriez vous une solution ?

Merci à tous.
 
Re : Format de cellule "formule" pose probleme sur macro

Rebonjour tototiti2008,

Juste une petite question.

Dans ton code à la ligne " For i = 3 to 8 " est-il possible que le balayage s'arrête à la dernière ligne visible par l'utilisateur. En effet mon questionnaire fait 200 lignes et le balayage des 200 lignes s'effectue à chaque mise à jour d'un champ, ce qui nécessite un temps d'attente après chaque question.

J'ai essayé en ajoutant :

Dim Derligne As Long, i As Long
Derligne = Range("H" & Rows.Count).End(xlUp).Row

Mais il doit y avoir une programmation spécifique que je ne maîtrise pas.

Peut tu m'aider ?

Merci encore...
 
Re : Format de cellule "formule" pose probleme sur macro

Bonjour gvives,

Peut-être

Code:
Private Sub Worksheet_Calculate()
Dim i As Long
    Application.EnableEvents = False
    For i = 3 To 8 'numéros des lignes des réponses à adapter
If Rows(i).hidden then exit for
        If UCase(Range("H" & i).Value) = "NON" Then
            Rows(i + 1).Hidden = False
        Else
            Rows(i + 1).Hidden = True
        End If
    Next i
    Application.EnableEvents = True
End Sub
 
Re : Format de cellule "formule" pose probleme sur macro

Bonjour tototiti2008,

Désolé pour ma réponse tardive, encore une fois merci !!

Je vais essayer dès que possible ton code... Je te tiens au courant au plus vite 🙂

Bonne journée !!
 
- 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
4
Affichages
184
Réponses
4
Affichages
244
Réponses
7
Affichages
165
Réponses
9
Affichages
588
Retour