Fonction vba de reconnaissance de caractères
adam.pierson
Messages postés
23
Statut
Membre
-
blackrock -
blackrock -
Bonjour à tous
J'ai besoin de gros pros comme vous pour une fonction simple.
Je recherche une fonction excel ou vba !
J'ai une liste de références en colonne A. Je voudrais une fonction qui fasse que si les 4 premiers caractères ne sont pas des nombres, il insère des 0 pour que les 4 premiers caractères soient des nombres.
Quelqu'un a t il une idée SVP ?
Merci d'avance
J'ai besoin de gros pros comme vous pour une fonction simple.
Je recherche une fonction excel ou vba !
J'ai une liste de références en colonne A. Je voudrais une fonction qui fasse que si les 4 premiers caractères ne sont pas des nombres, il insère des 0 pour que les 4 premiers caractères soient des nombres.
Quelqu'un a t il une idée SVP ?
Merci d'avance
A voir également:
- Fonction vba de reconnaissance de caractères
- Fonction si et - Guide
- Reconnaissance musique en ligne sans télécharger - Guide
- Caractères spéciaux - Guide
- Ascii nombre de caractères - Guide
- Logiciel de reconnaissance de texte - Télécharger - Divers Bureautique
5 réponses
J'ai cherché sans succès un moyen de savoir si une chaine de caractère est numérique...
Je pense que le plus simple est d'utiliser une condition du type:
If Left(Tonchamp,4)>O Then
TonChamp=TonChamp
Else
TonChamp = "0000"& Right(TonChamp),Len(TonChamp)-4)
End If
Je pense que le plus simple est d'utiliser une condition du type:
If Left(Tonchamp,4)>O Then
TonChamp=TonChamp
Else
TonChamp = "0000"& Right(TonChamp),Len(TonChamp)-4)
End If
Hello,
Je suppose que si ta chaine commence par moins de 4 caractères numériques il faut s'arranger pour qu'il y en ait au moins 4, en ajoutant les zéros nécessaires.
Tu peux essayer cette fonction :
Je suppose que si ta chaine commence par moins de 4 caractères numériques il faut s'arranger pour qu'il y en ait au moins 4, en ajoutant les zéros nécessaires.
Tu peux essayer cette fonction :
Function INSNUM(Chaine) INSNUM = Chaine If Not IsNumeric(Left(Chaine, 1)) Then INSNUM = "0000" & Chaine ElseIf Not IsNumeric(Left(Chaine, 2)) Then INSNUM = "000" & Chaine ElseIf Not IsNumeric(Left(Chaine, 3)) Then INSNUM = "00" & Chaine ElseIf Not IsNumeric(Left(Chaine, 4)) Then INSNUM = "0" & Chaine End If End Function
Excuse moi de te déranger.
Voilà la macro que j'ai faite à partir de ton code.
Sub test()
Chaine = ActiveCell.FormulaR1C1
MsgBox Chaine
ActiveCell.Offset(0, 1).Select
Call INSNUM(Chaine)
End Sub
Function INSNUM(Chaine)
INSNUM = ActiveCell.FormulaR1C1
If Not IsNumeric(Left(Chaine, 1)) Then
INSNUM = "0000" & Chaine
ElseIf Not IsNumeric(Left(Chaine, 2)) Then
INSNUM = "000" & Chaine
ElseIf Not IsNumeric(Left(Chaine, 3)) Then
INSNUM = "00" & Chaine
ElseIf Not IsNumeric(Left(Chaine, 4)) Then
INSNUM = "0" & Chaine
ActiveCell.FormulaR1C1 = INSNUM
End If
End Function
Mais ça ne marche pas. Je suis désolé mais je suis pas un pro du VBA. Peux tu me la corriger STP. D'avance merci
Voilà la macro que j'ai faite à partir de ton code.
Sub test()
Chaine = ActiveCell.FormulaR1C1
MsgBox Chaine
ActiveCell.Offset(0, 1).Select
Call INSNUM(Chaine)
End Sub
Function INSNUM(Chaine)
INSNUM = ActiveCell.FormulaR1C1
If Not IsNumeric(Left(Chaine, 1)) Then
INSNUM = "0000" & Chaine
ElseIf Not IsNumeric(Left(Chaine, 2)) Then
INSNUM = "000" & Chaine
ElseIf Not IsNumeric(Left(Chaine, 3)) Then
INSNUM = "00" & Chaine
ElseIf Not IsNumeric(Left(Chaine, 4)) Then
INSNUM = "0" & Chaine
ActiveCell.FormulaR1C1 = INSNUM
End If
End Function
Mais ça ne marche pas. Je suis désolé mais je suis pas un pro du VBA. Peux tu me la corriger STP. D'avance merci
C'est sympa de m'avoir répondu.
Je vais tester les fonctions et je vous dit ce qu'il en est.
En tous cas merci
Je vais tester les fonctions et je vous dit ce qu'il en est.
En tous cas merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question