MFC - Lenteur lors d'un encodage

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 !

jorisphi

XLDnaute Occasionnel
Bonjour à Tous

Lorsque j'encode (sans utiliser le menu déroulant) dans une cellule (P-IM-NF etc...) le système prend une lenteur avant de me redonner la main
Est-ce peut-être à cause de ma programmation VBA?.......

De plus, lorsque je supprime les cellules en sélectionnant plusieurs cellules , il me donne "Erreur d'execution 13" (Débogage)

Je joins mon fichier en annexe
D'avance grand merci pour votre aide

Jorisphi
PS : je suis débutant en VBA
 

Pièces jointes

Re : MFC - Lenteur lors d'un encodage

Bonjour JCGL

Vous êtes vraiment TRES TRES fort................
Ca fonctionne à merveille!...
Un Tout tout grand merci pour votre aide
J'ai encore appris grace à vous

Très cordialement
Jorisphi
PS : Avez-vous aussi une solution pour l'erreur 13 (Débogage)?
 
Re : MFC - Lenteur lors d'un encodage

Bonjour jorisphi, JCGL,

jorisphi,

Au lieu de balayer toute la plage à chaque changement dans la feuille Présences, pourquoi ne pas analyser que la cellule modifiée ?
J'ai donc modifié ton code, et j'ai remplacé les If...Then par Select..Case mieux adapté dans ce cas.
De plus, la ligne en rouge est à supprimer, car elle fait "redondance" avec l'événement 'Change', c'est ce qui ralentit ton code. D'autant que les cellules sont déjà en majuscules avec la liste de validation.

Espérant t'avoir aidé.

Cordialement.

Code:
Dim Couleur As Byte

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$B$1" Then Rech_Date

Select Case ActiveCell.Value
  Case "P"
    Couleur = 10
  Case "RET", "INF", "EX", "TEL"
    Couleur = 32
  Case "M"
    Couleur = 3
  Case "ACC"
    Couleur = 26
End Select
ActiveCell.Interior.ColorIndex = Couleur
[COLOR="Red"][B]If Not Intersect(Target, Range("d7:IV36")) Is Nothing Then Target = UCase(Target)[/B][/COLOR]
End Sub

PS : il manque un code couleur pour NM.
 
Dernière édition:
Re : MFC - Lenteur lors d'un encodage

Bonjour à tous,
Salut Panou-Net,

Il est préférable de prende le code de Papounet :

Code:
Dim Couleur As Byte

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$B$1" Then Rech_Date

Select Case ActiveCell.Value
  Case "P"
    Couleur = 10
  Case "RET", "INF", "EX", "TEL"
    Couleur = 32
  Case "M"
    Couleur = 3
  Case "ACC"
    Couleur = 26
  Case "NM"
    Couleur = 40
End Select
[COLOR=Blue][B]ActiveCell.Font.ColorIndex = Couleur[/B][/COLOR]
End Sub
A+ à tous
 
Re : MFC - Lenteur lors d'un encodage

Cher Jean Marcel
Cher Tous

Merci Jean Marcel pour votre proposition
Cela Fonctionne à merveille
GRAND Merci à vous et à l'entraide
Que ferais-je sans celle-ci ?......

A Tous, Très cordialement
A Bientôt
Jorisphi
 
Re : MFC - Lenteur lors d'un encodage

Bonjour à vous tous

Je reviens vers vous, car il y a quelque chose que je ne comprends pas.
Lorsque j'encode le "M", il me donne des couleurs différentes
Avez-vous une explication?......

Merci d'avance pour votre aide

Cordialement
Jorisphi

PS : En annexe mon fichier
 

Pièces jointes

Re : MFC - Lenteur lors d'un encodage

Bonjour JCDL,

Voilà, j'ai donc appliqué la programmation de Papounet
elle fonctionne très bien
Seule remarque
Lorsque j'encode manuellement, la coloration ne fonctionne pas (Voir mon encodage dans la deuxième colonne)
Mais elle fonctionne bien avec la liste déroulante

D'avance, Grand merci pour votre aide
Je joins mon annexe
Cordialement
Jorisphi
 

Pièces jointes

Dernière édition:
- 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
Retour