Left ne voulant pas prendre 3 caractères

Résolu
rimbaut Messages postés 61 Date d'inscription jeudi 19 mai 2005 Statut Membre Dernière intervention 1 juin 2014 - 14 juil. 2008 à 20:15
rimbaut Messages postés 61 Date d'inscription jeudi 19 mai 2005 Statut Membre Dernière intervention 1 juin 2014 - 14 juil. 2008 à 21:48
Bonsoir à tous,
Je suis quelque peu surpris de voir que mon Left ne veut pas prendre 3
caractères.
Ainsi le code ci dessous fonctionne avec 64 et si je mets 641 alors ne
s'affiche sur la feuille Excel que la date et Total.

Voici mon bout de code :

Do While Sheets("Balance").Cells(y, 1).Value <> "" ' la boucle s'arrete quand la cellule est vide

If Left$(Sheets("Balance").Cells(y, 1).Value, 2) = "641" Then ' test
Sheets("Balance").Cells(y, 1).Copy
Sheets("B600").Cells(y2, 1).PasteSpecial xlPasteValues

Sheets("Balance").Cells(y, 2).Copy
Sheets("B600").Cells(y2, 2).PasteSpecial xlPasteValues

Sheets("Balance").Cells(y, 5).Copy
Sheets("B600").Cells(y2, 3).PasteSpecial xlPasteValues
Sheets("B600").Cells(y2, 3).NumberFormat = "# ##0.00"

Sheets("Balance").Cells(y, 7).Copy
Sheets("B600").Cells(y2, 4).PasteSpecial xlPasteValues
Sheets("B600").Cells(y2, 4).NumberFormat = "# ##0.00"

Sheets("B600").Cells(y2, 6).Value = Sheets("B600").Cells(y2, 3).Value _
- Sheets("B600").Cells(y2, 4).Value
Sheets("B600").Cells(y2, 6).NumberFormat = "# ##0.00"


If Sheets("B600").Cells(y2, 4).Value > 0 Then
Sheets("B600").Cells(y2, 7).Value = Sheets("B600").Cells(y2, 6).Value _
/ Sheets("B600").Cells(y2, 4).Value
End If

Sheets("B600").Cells(y2, 7).Style = "Percent"

total_annee_1 = total_annee_1 + Sheets("B600").Cells(y2, 4).Value
total_annee_2 = total_annee_2 + Sheets("B600").Cells(y2, 3).Value

y2 = y2 + 1
End If ' Fin de test


y = y + 1 ' Compteur de la boucle, on incremente de 1

Loop ' fin de la boucle

Merci de votre soutien très précieux.

2 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
14 juil. 2008 à 20:20
Salut,

c'est normal que ça ne fonctionne pas, tu donnes à la fonction Left$ comme paramètre,  de prendre seulement 2 caractères :
If Left$(Sheets("Balance").Cells(y, 1).Value, 2) = "641" Then

Remplace 2 en rouge par 3

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
3
rimbaut Messages postés 61 Date d'inscription jeudi 19 mai 2005 Statut Membre Dernière intervention 1 juin 2014
14 juil. 2008 à 21:48
merci beaucoup Mortalino. Je n'avais pas fait gaffe
0
Rejoignez-nous