Vérifier format cellule

Résolu/Fermé
Akatsucki Messages postés 90 Date d'inscription jeudi 1 octobre 2020 Statut Membre Dernière intervention 16 décembre 2021 - 23 mars 2021 à 18:55
via55 Messages postés 14398 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 10 avril 2024 - 25 mars 2021 à 01:59
Bonjour,

je cherche un code vba pour vérifier plusieur colonne ... je m’explique Je récupère un tableau dans un autre fichier sauf que le format n’est pas toujours bon

Exemple je récupère une valeur : 88 hors je voudrais qu’elle soit au format 0088 donc je tape à la main ‘0088 car le format n’est pas le bon

Comment je peux vérifier cela par vba ? Et remplacer 88 par 0088 si c’est juste

PS: je n’est pas d’exemple à fournir pour vous guidez mieux
A voir également:

4 réponses

Yoyo01000 Messages postés 1639 Date d'inscription samedi 2 février 2019 Statut Membre Dernière intervention 7 mars 2022 165
23 mars 2021 à 19:41
Bonsoir,

il suffit de sélectionner la colonne et d'appliquer un format de cellule personnalisé :
00##

0
Akatsucki Messages postés 90 Date d'inscription jeudi 1 octobre 2020 Statut Membre Dernière intervention 16 décembre 2021
Modifié le 23 mars 2021 à 19:56
Oui je sais comment le faire mais c’est pas que pour moi il y aura d’autre utilisateurs qui ce serviront de ce fichier et je pense qu’ils ne penseront pas à mettre le format à chaque fois ...

Donc j’aimerais avoir un moyen de vérifier automatiquement chaque cellule du tableau

Si j’ai 88 et que je clique sur format cellule je pense pas que ça va changer automatiquement le format à 0088 ou bien si ?

Ça peut être 888 aussi alors qu’il me faut 0888 ou bien 8888 donc le format est correct mais il le faut un moyen de vérifier cela
0
The_boss_68 Messages postés 922 Date d'inscription dimanche 15 novembre 2015 Statut Membre Dernière intervention 31 mars 2024 174
23 mars 2021 à 21:14
Bonsoir,

P'être un truc comme ça dans une colonne supplémentaire

=SI(NBCAR(A1)=1;"000"&A1;SI(NBCAR(A1)=2;"00"&A1;SI(NBCAR(A1)=3;"0"&A1;SI(NBCAR(A1)=4;""&A1;0))))


Slts
0
Akatsucki Messages postés 90 Date d'inscription jeudi 1 octobre 2020 Statut Membre Dernière intervention 16 décembre 2021
23 mars 2021 à 21:19
Bonsoir,

Oui cela fonctionne certainement bien mais je ne veux pas rajouter de formule ou colonne

J’aimerais plutôt par vba du genre

For each cellule range("A1:A10")
If cellule.value = ....
End if
next

Enfin c’est un exemple cela

Cordialement
0
Akatsucki Messages postés 90 Date d'inscription jeudi 1 octobre 2020 Statut Membre Dernière intervention 16 décembre 2021
Modifié le 24 mars 2021 à 08:45
J’ai fais un début de code mais je pense pas qu’il fonctionne correctement qui peut voir ou sont les fautes ?? Merci

Dim cel as range 
For each cel in Feuil12.range("M17:M43")
If len(cel) = 1 then
Cel.value = "000" & cel

If len(cel) = 2 then
Cel.value = "00" & cel

If len(cel) = 3 then
Cel.value = "0" & cel

If len(cel) = 4 then
Cel.value = "" & cel

Else
Cel.value ="0"

End if
End if
End if
End if

Next



0
via55 Messages postés 14398 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 10 avril 2024 2 701
Modifié le 25 mars 2021 à 02:07
Bonsoir

Il y a plus simple, il suffit d'appliquer le format indiqué par Yoyo à tout changement dans la plage que tu auras définie

A mettre dans le worksheet de ta feuille12
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("M17:M43")) Is Nothing Then Target.NumberFormat = "00##"
End Sub


ou si tu préfères une macro à lancer à part

Sub format_cellules()
For Each cel In Sheets("Feuil1").Range("M17:M43")
cel.NumberFormat = "00##"
Next
End Sub


Cdlmnt

Via
0