Worksheet_Change et Calculate

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

jhofman

XLDnaute Occasionnel
Bonjour le forum



j'ai développé une application qui masque des lignes restituées en fonction de ma saisie ou plus indirectment selon le résultat lié à ma saisie.

voir si dessous
en fait les données sont pas rafraichies et le code ne fonctionne pas (à fonctionné mais ne fonctionne pas !!)
need help !!


Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("H6")) Is Nothing Then Exit Sub
Calculate
With Application
         .ScreenUpdating = True
         .Calculation = xlCalculationAutomatic
         .Calculate
End With
For i = 0 To 7
    MsgBox i & " " & BDDF_PRES.Cells(8 + i, 8).value
    If Cells(8 + i, 8) = 0 Then
    
        Rows(8 + i).EntireRow.Hidden = True
    Else 
        Rows(8 + i).EntireRow.Hidden = False
    End If
Next i
End Sub
 
Re : Worksheet_Change et Calculate

Bonjour jhofman,

Je n'ai pas bien compris ta question, notamment la partie "a fonctionné mais ne fonctionne pas".

Pourrais-tu nous joindre un fichier et préciser les opérations que tu as suivi, ce qui s'est passé et ce que tu attendais ?


Par ailleurs, petite précision sur le début de ton code :

Code:
With Application
         .ScreenUpdating = True
         .Calculation = xlCalculationAutomatic
         .Calculate
End With

Cette partie de code est généralement utilisée pour optimiser l'exécution de la macro mais elle comprend deux parties :
- une au début de la macro
- une à la fin

Par exemple la partie qui va au début :

Code:
With Application
'Désactivation de l'affichage utilisateur
         .ScreenUpdating = False
'Le calcul des formules sera fait à la demande (utile s'il y a beaucoup
'de formules ou si la macro modifie beaucoup de cellules sources)            
         .Calculation = xlCalculationManual   
End With

Une partie qui peut aller pendant l'exécution (ou à la fin si pertinent) :
Code:
'Permet d'obliger Excel à calculer les formules (utile uniquement si
'Application.Calculation a été mis à Manual auparavant)
Application.Calculate

Une partie à la fin qui ne sert qu'à rétablir l'état de fonctionnement normal :
Code:
With Application
         .ScreenUpdating = True
         .Calculation = xlCalculationAutomatic
End With

Bon courage,

--
Max
 
Re : Worksheet_Change et Calculate

bonjour macsscam et le forum

je ne sais répondre à ta question ...
mais j'ai je pense identifié la source de mon problème que j'ai résolu autrement en évitant cette source...

le problème venait je pense que dans Worksheet_Change je ne pas mettre à jour l'affichage de mes feuille (?) j'ai procédé plus classiquement en introduisant un userform de saisie avec bouton de validation.

Merci de ton aide.
 
- 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
9
Affichages
509
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
5
Affichages
917
Réponses
15
Affichages
793
Retour