[VB/VBA/VBScript] SUPPRESSION DES ZEROS A GAUCHE
Résolu/Fermé
GUYSYS
Messages postés
27
Date d'inscription
dimanche 25 septembre 2005
Statut
Membre
Dernière intervention
2 septembre 2006
-
25 oct. 2005 à 01:43
GUYSYS Messages postés 27 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 2 septembre 2006 - 26 août 2006 à 01:44
GUYSYS Messages postés 27 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 2 septembre 2006 - 26 août 2006 à 01:44
A voir également:
- Excel supprimer les 0 à gauche
- Liste déroulante excel - Guide
- Supprimer une page word - Guide
- Fichier impossible à supprimer - Guide
- Aller à la ligne excel - Guide
- Numéro de téléphone excel 0 - Guide
3 réponses
teebo
Messages postés
33491
Date d'inscription
jeudi 14 octobre 2004
Statut
Modérateur
Dernière intervention
24 février 2011
1 793
25 oct. 2005 à 08:46
25 oct. 2005 à 08:46
Salut,
Je ne connais pas bien VBA mais je dirai deux choses qui peuvent aider:
1: Le test, tu devrais peut être mettre "0" ou '0' à la place de 0.
2:Plutôt que de faire Left()=null (tu ne peux pas affecter une valeur au résultat d'une fonction), tu dois faire
Ensuite il te faut une boucle while aussi pour virer TOUS les 0 et pas seulement le premier...
Je ne connais pas bien VBA mais je dirai deux choses qui peuvent aider:
1: Le test, tu devrais peut être mettre "0" ou '0' à la place de 0.
2:Plutôt que de faire Left()=null (tu ne peux pas affecter une valeur au résultat d'une fonction), tu dois faire
celltest=Right(celltest, celltest.length-1)
Ensuite il te faut une boucle while aussi pour virer TOUS les 0 et pas seulement le premier...
random
Messages postés
1612
Date d'inscription
vendredi 26 novembre 2004
Statut
Membre
Dernière intervention
30 mars 2006
155
25 oct. 2005 à 08:48
25 oct. 2005 à 08:48
Function szr(x As String) As String
Dim tempo As String
tempo = x
Do While Left(tempo, 1) = "0"
tempo = Right(tempo, Len(tempo) - 1)
Loop
szr = tempo
Dim tempo As String
tempo = x
Do While Left(tempo, 1) = "0"
tempo = Right(tempo, Len(tempo) - 1)
Loop
szr = tempo
teebo
Messages postés
33491
Date d'inscription
jeudi 14 octobre 2004
Statut
Modérateur
Dernière intervention
24 février 2011
1 793
25 oct. 2005 à 08:53
25 oct. 2005 à 08:53
Prems,...mais je connais pas la syntaxe de Len() :)
random
Messages postés
1612
Date d'inscription
vendredi 26 novembre 2004
Statut
Membre
Dernière intervention
30 mars 2006
155
25 oct. 2005 à 09:52
25 oct. 2005 à 09:52
len(une chaîne) renvoie la longueur de la chaîne
teebo
Messages postés
33491
Date d'inscription
jeudi 14 octobre 2004
Statut
Modérateur
Dernière intervention
24 février 2011
1 793
25 oct. 2005 à 09:54
25 oct. 2005 à 09:54
Je te crois :) Je ne fais jamais de VBA :)
random
Messages postés
1612
Date d'inscription
vendredi 26 novembre 2004
Statut
Membre
Dernière intervention
30 mars 2006
155
>
teebo
Messages postés
33491
Date d'inscription
jeudi 14 octobre 2004
Statut
Modérateur
Dernière intervention
24 février 2011
25 oct. 2005 à 10:33
25 oct. 2005 à 10:33
c'est un langage comme un autre
il présente l'immense avantage d'être parfaitement connecté
à excel word access power point et outlook
ce qui en fait pour la bureautique un outil de premier ordre
il présente l'immense avantage d'être parfaitement connecté
à excel word access power point et outlook
ce qui en fait pour la bureautique un outil de premier ordre
teebo
Messages postés
33491
Date d'inscription
jeudi 14 octobre 2004
Statut
Modérateur
Dernière intervention
24 février 2011
1 793
>
teebo
Messages postés
33491
Date d'inscription
jeudi 14 octobre 2004
Statut
Modérateur
Dernière intervention
24 février 2011
25 oct. 2005 à 10:46
25 oct. 2005 à 10:46
c'est un langage comme un autre
Ouais enfin c'est pas un des meilleurs non plus...
il présente l'immense avantage d'être parfaitement connecté
à excel word access power point et outlook
C'est vrai...
ce qui en fait pour la bureautique un outil de premier ordre
C'est vrai aussi...mais je ne fait pas non plus de bureautique ;-D
Ouais enfin c'est pas un des meilleurs non plus...
il présente l'immense avantage d'être parfaitement connecté
à excel word access power point et outlook
C'est vrai...
ce qui en fait pour la bureautique un outil de premier ordre
C'est vrai aussi...mais je ne fait pas non plus de bureautique ;-D
random
Messages postés
1612
Date d'inscription
vendredi 26 novembre 2004
Statut
Membre
Dernière intervention
30 mars 2006
155
>
teebo
Messages postés
33491
Date d'inscription
jeudi 14 octobre 2004
Statut
Modérateur
Dernière intervention
24 février 2011
25 oct. 2005 à 11:02
25 oct. 2005 à 11:02
si tu ne fais pas de bureautique il n'y a pas de raison
de s'y intérésser particulièrement
si ce n'est qu'il est fourni gratuitement avec word
comme de très nombreuses configurations sont
fournies avec word
de plus si le langage n'est pas le meilleur
il est parfaitement documenté et inclue des bibliothèques étendus
de s'y intérésser particulièrement
si ce n'est qu'il est fourni gratuitement avec word
comme de très nombreuses configurations sont
fournies avec word
de plus si le langage n'est pas le meilleur
il est parfaitement documenté et inclue des bibliothèques étendus
Lisa
>
teebo
Messages postés
33491
Date d'inscription
jeudi 14 octobre 2004
Statut
Modérateur
Dernière intervention
24 février 2011
11 août 2006 à 09:37
11 août 2006 à 09:37
Bonjour,
est-ce que cette solution est applicable au problème suivant ? Sinon que me conseillez vous?
Sous ACCESS, je dois lier 2 tables qui ont un champ commun, sauf que dans une table le champ a deux zéros en + devant (ex : 25635 et 0025635, 25636 et 0025636).
Ces deux tables sont importées vers ACCESS mensuellement, et je voudrais à chaque import traiter automatiquement la table à deux zéros pour les enlever.
OU ALORS, faire que les champs se reconnaissent meme si l'un garde ses deux zéros.
Merci!!
Lisa
est-ce que cette solution est applicable au problème suivant ? Sinon que me conseillez vous?
Sous ACCESS, je dois lier 2 tables qui ont un champ commun, sauf que dans une table le champ a deux zéros en + devant (ex : 25635 et 0025635, 25636 et 0025636).
Ces deux tables sont importées vers ACCESS mensuellement, et je voudrais à chaque import traiter automatiquement la table à deux zéros pour les enlever.
OU ALORS, faire que les champs se reconnaissent meme si l'un garde ses deux zéros.
Merci!!
Lisa
25 oct. 2005 à 23:15
Tout d'abord , le fait de mette 0 ou "0" n'a pas d'importance après essai de la macro.
Pour le reste la syntaxe que je cherchais pour supprimer le (les) premiers zéro à gauche est effectivement
celltest=Right(celltest, celltest.length-1) , que je fais suivre comme tu me le conseille par " une boucle while aussi pour virer TOUS les 0 et pas seulement le premier..."
J'ai utilisé la boucle proposé par RANDOM en remplaçant la variable tempo par celltest et le tout fonctionne à mon entière satisfaction.
MERCI A TOUS LES DEUX ET A TOUS CEUX QUI ONT PRIS LA PEINE DE M'AIDER.
***************************************
POUR CEUX QUI SONT INTERESSES VOILA LE CODE FINAL POUR SUPPRIMER LES ZERO A GAUCHE D'UNE CHAINE DE CARACTERES DANS UNE ZONE DE CELLULES EXCEL SELECTIONNEES A LA SOURIS
*********************************************
Sub SUPPRIMERODEVANTCOMPTE()
Dim zoneatester As String
zoneatester = ActiveWindow.RangeSelection.Address
Dim celltest As Range
For Each celltest In Range(zoneatester)
Do While Left(celltest, 1) = 0
celltest = Right(celltest, Len(celltest) - 1)
Loop
Next
End Sub
*****************************************
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi .
(A. EINSTEIN)
*****************************************************