VBA EXCEL test contenu cellule

Résolu/Fermé
Fou_Du_Guidon Messages postés 320 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 9 juillet 2010 - 12 juin 2009 à 15:08
Fou_Du_Guidon Messages postés 320 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 9 juillet 2010 - 15 juin 2009 à 08:31
Bonjour,
j'ai un feuille excel qui contient plusieurs centaines de lignes , elle posséde une colonne F (REF TGC) qui contient 12 chiffres. J'aimerai pouvoir tester si celle-ci est vide ou contient un nombre terminé par *000000 auquel cas elle devra comporté "Non référencé".
Pour des soucis de "bordel" dans mon fichier je ne veux pas de formule. Je pense avoir été assez clair. Je suis un parfait newbie en VBA ^^.
Merci d'avance.

6 réponses

Mike-31 Messages postés 18310 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 29 mars 2024 5 073
12 juin 2009 à 15:18
Salut,

Si j'ai bien tout compris, tes références doivent se terminer par six zéro

Tu peux teste cette formule parmis tant d'autres pour une valeur en F1

Si c'est cela, je pense qu'il serait également bon te tester si tes valeurs comportent bien 12 caractères si c'est une valeur fixe, à voir

=SI(DROITE(F1;6)="000000";"ok";"Non référencé")

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
0
Fou_Du_Guidon Messages postés 320 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 9 juillet 2010 38
12 juin 2009 à 15:24
En effet je n'avait pas penser à ce cas. Il faut donc en plus tester le nombre de chiffres dans la cellule. Par contre il me le faut en VBA, je ne peux pas rajouté de colonne dans mon fichier.
0
Mike-31 Messages postés 18310 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 29 mars 2024 5 073
12 juin 2009 à 16:35
Re,

Pourquoi le VBA, de toute façon il te faudra récupérer quelques part l'info pour savoir si la valeur est juste ou non,

tu n'as pas un classeur avec 256 colonnes
Pour tester le nombre de caractères et le nombre de zéro en F1 copies cette formule et incrémentes là vers le bas,

A moins que tu tiennes vraiment au VBA mais je ne vois pas l'intérêt

=SI(NBCAR(F1)<>12;"Non référencé";SI(DROITE(F1;6)="000000";"ok";"Non référencé"))

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
0
Fou_Du_Guidon Messages postés 320 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 9 juillet 2010 38
12 juin 2009 à 16:47
Non c'est vrai je n'est pas de classeur de 256 col mais c'est un fichier qui alimente une base de donnée et elle est prête, sauf que je me suis rendu compte que justement cette REF si elle est mal renseigné(NULL , < ou > 12 chiffres ou *000000) n'est pas traité. Et donc toutes ces lignes disparaissent. C'est pour sa que j'aurai voulu du code (évité de retouché toutes mes requêtes , et mes macros) :/ , je vais essayer ta fonction pour voir si elle me convient et essayer de la traduire ou de l'incruster quelque par.
Merci.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mike-31 Messages postés 18310 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 29 mars 2024 5 073
12 juin 2009 à 16:53
Re,

La formule compte les caractères de la cellule ici F1 si le nombre est diffèrent de 12 affiche dans la cellule "Non référencé"

si le nombre de zéro est différent de 6 affiche dans la cellule "Non référencé"

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
0
Fou_Du_Guidon Messages postés 320 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 9 juillet 2010 38
15 juin 2009 à 08:31
Bonjour,
Voila donc la solution à se problème qui n'est absolument pas résolu...

=SI(NBCAR(F2)<>12;"Non Référencé";SI(DROITE(F2;6)="000000";"Non Référencé";F2))

je m'oblige à modifier ma BdD pour avancer...
Merci quand même à toi Mike.
++
0