Macros placées sous Worksheet...petits problèmes

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 !

Christian0258

XLDnaute Accro
Bonjour à tout le forum,

J'ai encore besoin de vos talents en VBA, en effet je n'arrive pas à placer deux codes sous Worksheet ... je joins le fichier c'est plus simple.


Je vous remercie pour le temps que vous voudrez bien m'accorder.

Bien amicalement,
Christian.
 

Pièces jointes

Re : Macros placées sous Worksheet...petits problèmes

Bonjour à tout le forum,

J'ai encore besoin de vos talents en VBA, en effet je n'arrive pas à placer deux codes sous Worksheet ... je joins le fichier c'est plus simple.


Je vous remercie pour le temps que vous voudrez bien m'accorder.

Bien amicalement,
Christian.
Salut Christian et le forum
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo Err_Worksheet_SelectionChange
'déclaration ==============================
Dim Cancel As Boolean
'MEI ======================================
Application.EnableEvents = False
Application.ScreenUpdating = False
'Premier traitement =======================
If Not (Intersect(Target, Range("F5:F104")) Is Nothing) And Target.Cells.Count = 1 Then
    Cancel = True
    If UCase(Target) = UCase("oui") Then
        Target = ""
    Else
        Target = "Oui"
    End If
End If
'second traitement =======================
If Not (Intersect(Target, Range("E5:E104")) Is Nothing) And Target.Cells.Count = 1 Then
    If Not (IsEmpty(Target)) Then
        Target.Offset(0, 1) = "oui"
    Else
        Target.Offset(0, 1) = ""
    End If
End If
Sort_Worksheet_SelectionChange:
    Application.EnableEvents = True
    Application.ScreenUpdating = True
    Exit Sub
Err_Worksheet_SelectionChange:
    MsgBox Err.Description, vbCritical + vbOKOnly, "Erreur Excel n°" & Err.Number
    Resume Sort_Worksheet_SelectionChange
End Sub
 
Sub Test
    Application.EnableEvents = True
    Application.ScreenUpdating = True
End Sub
j'ai modifié ta macro, Na ! 😛
Plusieurs solutions possibles, mais, moi, je travaille comme ça.
Tu changes F10 => la macro se lance, modifie F10 qui lance la macro, etc.. : boucle sans fin

Pour éviter ça, on bloque les événements =EnableEvents=false
Changement F10 => la macro se lance => bloque évènement => change F10 sans déclencher la macro. => relance les évènements et termine la macro OK

Mais, suivant la Loi de Murphy 😡 :
F10 change => lance macro => Bloque évènements => continue le code et Excel trouve une erreur => Excel reprend la main => Excel averti => Excel arrête la macro ..... sans repasser sur le code de remise en route des évènements

Pour éviter ça, Gestion des évènements obligatoire => comme dans mon code, avec remplacement obligatoire de toutes sorties de la macro EXIT SUB remplacé par GOTO Sort_Worksheet_SelectionChange

Avec ma macro : si Excel rencontre une erreur => il prend la main => continue la macro à l'adresse Err_... qui averti (j'aime bien savoir qu'il y a un problème) et continue la macro à l'adresse Sort_... qui remet en route les événement et arrête la macro.

ScreenUpDating : blocage du rafraîchissement écran (False) ou remise en route (True). 2 buts :
- accélérer le traitement de la macro, mais là, ce n'est pas primordial
- avoir une chance de prévenir que la gestion des évènements est bloquée. C'est vrai que ça ne peut pas arriver, mais en période de rôdage de la macro, je travaille souvent en pas-à-pas (avec point d'arrêt), et quand je me rends compte d'une erreur de code, il m'arrive de sortir (ou Excel me demande de le faire), et comme je suis dans le solutionnement, je ne pense pas toujours à la gestion des évènements. L'écran gris est un bon moyen 😀

la maccro test me sert à la remise en route des gestion dans ces cas.
A+
 
Re : Macros placées sous Worksheet...petits problèmes

Re,

Merci, Gorfael, pour ton travail et tes conseils très avisés. J'ai appliqué ta macro, c'est ok.

Concernant la mise en place de la macro format conditionnel de Didier FOURGEROT, comment la placer sous la feuille "Commande repas".

Encore merci, à te lire.

à+
Christian
 
Re : Macros placées sous Worksheet...petits problèmes

Re,

Merci, Gorfael, pour ton travail et tes conseils très avisés. J'ai appliqué ta macro, c'est ok.

Concernant la mise en place de la macro format conditionnel de Didier FOURGEROT, comment la placer sous la feuille "Commande repas".

Encore merci, à te lire.

à+
Christian
Salut
Ma boule de cristal étant brumeuse ce matin, j'ai du mal 😀
je suppose que c'est celle qui te permet d'avoir un max de formats conditionnels déclarés dans une autre feuille ?
Si c'est celle-là, il faut la mettre dans le module de classe ThisWorkBook !
Sinon, il faudrait savoir de laquelle tu parles, par ce qu'il en a fait un gros tas de macro.
A+
 
Re : Macros placées sous Worksheet...petits problèmes

Bonjour à tous,
Salut Gorfael,
Salut Christian 🙂,

Avec ce que j'ai compris de ta demande sur la MeFC Commentaires de mDF

E4 n'avait de format numérique : pas glop
Tu faisais référence à F5 : pas glop

A++ Ami Hospitalier 🙂

Bonne journée à tous
 
Dernière édition:
Re : Macros placées sous Worksheet...petits problèmes

Re,

Gorfael,
La macro est dans le fichier joint, sous la feuille "VIDE",

à+
Christian
Salut
pas vue !
C'est une macro qui ne s'applique que sur la feuille liée au module où elle est (ici VIDE).
Paz contre, sa finalité, c'est, si le format conditionnel (dernière condition) commence par mDf, on évalue la formule qui suiy, qui détermine la présence visible d'un commentaire.
Comme d'hab. dès que je vois du code mDf, je me dis que je manque d'imagination 😱
A+
 
- 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
134
Affichages
5 K
Réponses
40
Affichages
2 K
Réponses
3
Affichages
430
Retour