vba format conditionnel avec plus de 3 condition mfc multiples de Didier
#1
Aspirant XLPages

Inscription: 02/03/2008
De 94170 Le Perreux Sur marne

Messages: 28

Système d'exploitation:
PC
Version Excel utilisée:
2002
Posté le : 02-03-2008 20h03
Bonjour, j'ai découvert le développement VBA sur les formats conditionnels avec plus de 3 conditions.
J'ai quand même un petit souci que je voulais partager si quelqu'un a un peu de temps pour m'aider :
- j'active une macro de contrôle et elle active le VBA ce qui ralentit considérablement le contrôle t provoque des scintillements : est-ce que je peux déactiver le VBA quand je lance le bouton de contrôle ? (comment est-ce que je fais car ce n'est pas une macro, je ne suis d'ailleurs pas arrivé à le mettre en mode déboguage)
- de plus j'ai besoin de gérer les couleurs uniquement sur une feuille , est-ce que ce vba pourrrait être associé à cette feuille plutôt qu'au classeur pour améliorer les temps de réponse ?

où puis-je trouver un peu d'aide sur ce développement VBA car je n'y comprends rien (je suis débutant sur le sujet)

Merci d'avance pour votre aide
Pièce jointe:
zip test.zip   [ Taille: 54.75 Ko - Téléchargements: 812 ]
Hors Ligne
Rapport   Haut 

Re: vba format conditionnel avec plus de 3 condition mfc multiples de Didier
#2
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 02-03-2008 20h29
Bonsoir mira57,

Tout d'abord, bienvenue sur mDF XLpages.com !

Citation :

mira57 a écrit:
- j'active une macro de contrôle et elle active le VBA ce qui ralentit considérablement le contrôle t provoque des scintillements : est-ce que je peux déactiver le VBA quand je lance le bouton de contrôle ? (comment est-ce que je fais car ce n'est pas une macro, je ne suis d'ailleurs pas arrivé à le mettre en mode déboguage)

Le moyen le plus simple consiste à utiliser dans ta macro la propriété EnableEvents de l'objet Application comme suit :
Sub MaMacro()
    
Application.EnableEvents False
    
'
    ' 
Ton code ICI...
    
'
    Application.EnableEvents = True
End Sub

Cette propriété mise à False permet de désactiver la gestion des évènements dans VBA (et donc d'empêcher l'évènement Workbook_SheetChange de se déclencher).

:warning: Attention toutefois : il ne faut surtout pas oublier de rétablir cette propriété à True à la fin de ton traitement sinon VBA ne réagira plus à aucun évènement ! Il te faut donc être sûr que ton code inséré entre ces 2 instructions est exempt de tout plantage qui risquerait d'empêcher l'instruction de rétablissement EnableEvents = True. Dans ce cas, il conviendrait de saisir cette instruction directement dans la fenêtre d'exécution pour rétablir le fonctionnement normal (c'est également possible en fermant et en réouvrant Excel).

Citation :

mira57 a écrit:
- de plus j'ai besoin de gérer les couleurs uniquement sur une feuille , est-ce que ce vba pourrrait être associé à cette feuille plutôt qu'au classeur pour améliorer les temps de réponse ?

Tu peux insérer la ligne suivante en tête de la procédure Workbook_SheetChange de l'objet ThisWorkbook :
If Sh.Name <> "Feuil1" Then Exit Sub
Evidemment, "Feuil1" est à adapter en fonction du nom de la feuille de calcul souhaitée.

Si tu as besoin de plus amples explications, n'hésite pas à revenir.

Cordialement,

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: vba format conditionnel avec plus de 3 condition mfc multiples de Didier
#3
Aspirant XLPages

Inscription: 02/03/2008
De 94170 Le Perreux Sur marne

Messages: 28

Système d'exploitation:
PC
Version Excel utilisée:
2002
Posté le : 02-03-2008 21h32
Merci beaucoup pour cette réponse rapide, je vais essayer ça tout de suite
Cordialement
Hors Ligne
Rapport   Haut 

Re: vba format conditionnel avec plus de 3 condition mfc multiples de Didier
#4
Aspirant XLPages

Inscription: 02/03/2008
De 94170 Le Perreux Sur marne

Messages: 28

Système d'exploitation:
PC
Version Excel utilisée:
2002
Posté le : 02-03-2008 22h35
Bonsoir,

Pour désactiver ls autres évènements = super
Par contre le VBA qui gère les couleurs continue à faire scintiller l'écran 2 ou 3 fois avantde changer de couleur, est-ce qu'il n'y aurait pas un moyen de l'activer uniquement pour la celleule qui est modifiée, on a l'impression que toutes les cellules sont examinées?

Merci bien
Michel
Hors Ligne
Rapport   Haut 

Re: vba format conditionnel avec plus de 3 condition mfc multiples de Didier
#5
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 02-03-2008 23h00
Re,

Je n'ai pas encore réussi à supprimer cet effet de scintillement lors du changement de couleur (mes tentatives à base d'Application.ScreenUpdating m'ont donné quelques désagréments autres mal venus).

Je pense que cet effet était beaucoup moins perceptible avec la version mDF MFCmultiples v2.0 de cette macro (que tu trouveras ci-jointe). Mais cette version ne gérait pas les formules ni les lignes entières de mise en forme.

Pour info, je poursuis toujours le développement de cette macro et je ne désespère pas de trouver un moyen de réduire ce désagrément au mieux.

Cordialement,
Pièce jointe:
zip mDF_MFCmultiples_v2.zip   [ Taille: 19.11 Ko - Téléchargements: 774 ]

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: vba format conditionnel avec plus de 3 condition mfc multiples de Didier
#6
Aspirant XLPages

Inscription: 02/03/2008
De 94170 Le Perreux Sur marne

Messages: 28

Système d'exploitation:
PC
Version Excel utilisée:
2002
Posté le : 02-03-2008 23h37
OK merci bien ,
une dernière pour aujourd'hui, j'ai mis la v2 de ton développement, il y a moins de scintillement mais ça affiche à un momentun 0 avant d'afficher la valeur définitve de la cellule ?
A bientôt
Michel
Hors Ligne
Rapport   Haut 

Re: vba format conditionnel avec plus de 3 condition mfc multiples de Didier
#7
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 02-03-2008 23h43
Re,

Et oui mira57, on ne peut pas tout avoir... :mind:

Cordialement,

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: vba format conditionnel avec plus de 3 condition mfc multiples de Didier
#8
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 12-03-2008 21h57
Bonsoir Mira57, le Forum,

Eh bien, je viens de terminer (je pense) la version 4.0 de mDF MFCmultiples et je pense que cette nouvelle mouture pourrait t'intéresser Mira57...

Cette dernière version reprend les améliorations apportées par la version 3.0, à savoir :
[list]
[*]Faire agir le format sur des lignes entières de données alors que la MFC n'est appliquée qu'à une seule cellule par ligne.
[*]Faire fonctionner ce format conditionnel spécial également sur des formules de calcul.
Une restriction toutefois : les formules doivent tirer leurs antécédents sur la même feuille de calcul. Ainsi, une formule faisant référence à une autre classeur, une autre feuille ou un autre onglet n'est pas gérée par cette MFC.
[/list]

Améliorations auxquelles j'ajoute cette fois :
[list]
[*]Une réduction considérable, voire une élimination complète, de l'effet de scintillement dont tu parles précédemment...
[*]La possibilité d'agir sur une partie seulement de la ligne de données au lieu de la ligne entière.
[/list]

Les MFC à appliquer changent de syntaxe pour cette nouvelle mouture :
[list]
[*]=mDF pour agir sur une cellule isolée.
[*]=mDF() pour agir sur une ligne entière de données.
[*]=mDF(B:M) pour agir (par exemple) sur les seules colonnes B à M de la ligne de données.
[/list]

J'espère que cette nouvelle variante pourra répondre à ton besoin et te remercie de bien vouloir me faire un retour de tests si tu le veux bien...

Cordialement,
Pièce jointe:
zip mDF_MFCmultiples_v40.zip   [ Taille: 22.70 Ko - Téléchargements: 726 ]

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: vba format conditionnel avec plus de 3 condition mfc multiples de Didier
#9
Accro XLPages

Inscription: 23/05/2007
De Chamrousse

Messages: 309

Système d'exploitation:
PC
Version Excel utilisée:
2013
Posté le : 12-03-2008 22h12
Bonjour à tous,
Salut Didier,

Toujours plus haut, toujours plus fort.
Tu me connais, je teste, je cherche la "faille" mais, encore une fois, Touto va bene

Bravo

A+ à tous


Cordialement
Hors Ligne
Rapport   Haut 

Re: vba format conditionnel avec plus de 3 condition mfc multiples de Didier
#10
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 14-03-2008 00h08
Bonsoir mira57,
Re JCGL,

Dans ce fil MFC multiple dans cellule = ligne idem, notre ami Eric31 demandait un traitement MFC en colonne (au lieu de ligne) pour cette macro...

Je joins donc cette fois la version 4.1 de mDF MFCmultiples intégrant cette nouvelle demande.

La syntaxe à appliquer pour les MFC devient donc :
[list]
[*]=mDF pour agir sur une cellule isolée.
[*]=mDF() pour agir sur la ligne entière de données.
[*]=mDF($B:$M) pour agir sur les seules colonnes B à M de la ligne de données (par exemple).
[*]=mDF($5:$28) pour agir en colonne de la ligne 5 à 28 (par exemple).
[/list]
Notez qu'il convient d'utiliser des références absolues ($) pour l'action sur lignes ou colonnes partielles.

Je continue mes investigations pour optimiser d'avantage le tout...

Cordialement,
Pièce jointe:
zip mDF_MFCmultiples_v41.zip   [ Taille: 24.89 Ko - Téléchargements: 803 ]

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes