XL 2019 changer Police d'une cellule sous condition via VBA

Aleks Shadows

XLDnaute Nouveau
Bonjour a tous et a toutes ,
je me tourne vers vous car je bloque sur un truc probablement tout bête ^^'
je vous explique mon problème :

je souhaiterais en VBA que dans la colonne G de la feuille "BDArticles" convertir la cellules dans une police "Code 3 de 9" si le format est ex: *123456* (le nombre de caractères entre * peut varier )
et une autre police "Code EAN13" si le format est ex : 3GBORKF*cbjaig+
et que le tout ce fasse de façon automatique

je vous remercie pour votre aide
en espèrent avoir été claire de ce que je recherche a mon problème ^^
bonne journée
 

xUpsilon

XLDnaute Accro
Bonjour,

Parle t'on vraiment de Format ? (voir ci-dessous)
1666611462460.png


Ou est-ce qu'on cherche simplement des valeurs qui contiennent une * puis une série de X chiffres puis encore un * ?

Bonne journée,

PS : Bonjour patrick :)
 

xUpsilon

XLDnaute Accro
Re,

Voir ci-joint pour "Code 3 de 9".
J'ai considéré qu'on cherche une valeur numérique entourée de deux *.
Si la condition est différente, merci de l'expliciter.
J'ai considéré que si ce n'est pas le cas, il faut revenir à une police Calibri.

Même chose pour 3GBORKF*cbjaig+, quelle est la structure à suivre ? Est-ce que c'est 1 chiffre puis un texte majuscule sur 6 charactère puis un * puis un texte minuscule sur 6 char puis un + ?

Bonne journée,
 

Pièces jointes

  • exemple (2).xlsm
    18.9 KB · Affichages: 1

Aleks Shadows

XLDnaute Nouveau
Voir ci-joint pour "Code 3 de 9".
J'ai considéré qu'on cherche une valeur numérique entourée de deux *.
Si la condition est différente, merci de l'expliciter.
J'ai considéré que si ce n'est pas le cas, il faut revenir à une police Calibri.
dans l'idée c'est ca sauf que si c'est pas du code "3 de 9" alors c'est du c'est du "Code EAN13" même si jamais ce n'est pas le bon format il faudrait que ca soit du Calibri par ex
Même chose pour 3GBORKF*cbjaig+, quelle est la structure à suivre ? Est-ce que c'est 1 chiffre puis un texte majuscule sur 6 charactère puis un * puis un texte minuscule sur 6 char puis un + ?
je sais pas si la structure des code ean13 sont tous les meme mais j'en ai bien l'impression quand meme donc on va partir sur ce postula (1 chiffre puis un texte majuscule sur 6 charactère puis un * puis un texte minuscule sur 6 char puis un + )
parcontre il y a un petit bug lorsque je supprime une ligne cela crée un bug
 

Aleks Shadows

XLDnaute Nouveau
oui c'est exactement ça sauf (le relou ^^)
je dois revalider la cellule pour que la macro que tu as fait s'exécute ,j'aimerai que ca se fasse de façon automatique des qu'il détecte le "format" il met la bonne police (je sais pas si je suis clair x))
en tout cas merci beaucoup
 

xUpsilon

XLDnaute Accro
En fait j'ai associé la macro à l'évènement "changement de la valeur d'une cellule en colonne G".
Le problème, c'est que si ça s'exécute en permanence, ça va juste saturer ton ordi pour rien.

Donc dis moi à quel évènement tu préfèrerais que ce soit associé. Un simple changement de sélection de cellule pour recalculer toute la feuille ?
 

Aleks Shadows

XLDnaute Nouveau
j'avoue ne pas trop savoir toute les différente façon faire ,mais les 5 premières colonne sont sont ajouter/supp/modifier via un userform puis les 2 dernières colonnes ont une formule qui s'agrémente automatiquement donc peut être des qu'un ajout d'article est fait recalculer la feuille ?
qu'en pense tu ? je suis pas un expert en excel donc je prend tout les bon conseil :)
 

Aleks Shadows

XLDnaute Nouveau
pourtant les 2 modules codeEAN13 et code39 ce trouve dans le fichier vba/module 1 et la police c'est Code39.ttf et ean13
je peux si ca peut t'aider t'envoyer le fichier entier peut être qu'il y un conflit quelque part qui empêche le bon fonctionnement
en tout cas merci de ton aide ,ca m'aide beaucoup
 

xUpsilon

XLDnaute Accro
Bonjour,

Etant donné que le fichier que tu m'as envoyé est un .xlsx, il n'est purement et simplement pas possible qu'il contienne un Module VBA.
Donc soit tu ne m'as pas envoyé le bon fichier, soit tu as juste oublié d'enregistrer le fichier en xlsm (fichier prenant en charge les macros/modules).

Bonne journée,
 

Discussions similaires

Réponses
3
Affichages
202
Réponses
10
Affichages
643

Statistiques des forums

Discussions
315 088
Messages
2 116 088
Membres
112 656
dernier inscrit
VNVT