Macro excel: pb d'affectation de valeur!

Fermé
babelfish Messages postés 2 Date d'inscription lundi 29 janvier 2007 Statut Membre Dernière intervention 29 janvier 2007 - 29 janv. 2007 à 11:12
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 29 janv. 2007 à 13:05
bonjour

j 'ai une chaine de caractere nommee de type "145-152", je dois placer les valeurs 145 et 152 dans 2 cellules distinctes.

j'utilise instr pour trouver la position de "-" et ensuite les fonctions right et left pour extraire les nombres.

je copie les resultats des fonctions right et left dans 2 chaines de caracteres avant de les affecter a mes 2 cellules. seulememt voila, si mes chaines de caracteres contiennent bien respectivement "145" et "152", mes cellules ne veulent pas prendre ces valeurs et restent nulles...

str: chaine contenant "145-152"
D: chaine contenant "-"
Pleft et Pright: chaine de caracteres

If InStr(str, D) <> 0 Then

Pleft = Left(str, (InStr(str, D) - 1))
Sheet1.cells(156,6).value = Pleft

pright = Right(str, (InStr(str, D) - 1))
Sheet1.cells(156,7).value= Pright

End If

Pourauoi mes cellules restent-elles vides alors que pright et Pleft contiennent bien ce que je veux?

merci
A voir également:

2 réponses

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
29 janv. 2007 à 12:32
Salut,

il ne faut pas utiliser de mots clés en tant que variables

str c'est une focnction et je vois que tu l'utilises en tant que nom de varible
0
babelfish Messages postés 2 Date d'inscription lundi 29 janvier 2007 Statut Membre Dernière intervention 29 janvier 2007
29 janv. 2007 à 12:39
merci de m'avoir repondu mais helas ca ne change rien...tout fonctionne, quand je teste le contenu des chaines j'ai bien ce que je veux obtenir mais impossible de l'ecrire dans une cellule...

:(

peut etre un probleme de type? mais ca ne genere pas d'erreur...
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
29 janv. 2007 à 13:05
J'ai pris ta macro et je l'ai testée.
Chez moi ça marche.
Sub a()
    strr = "145-152"
    D = "-"
    'Pleft et Pright: chaine de caracteres
    
    If InStr(strr, D) <> 0 Then
    
    Pleft = Left(strr, (InStr(strr, D) - 1))
    Sheets("Feuil1").Cells(1, 1).Value = Pleft
    
    Pright = Right(strr, (InStr(strr, D) - 1))
    Sheets("Feuil1").Cells(2, 1).Value = Pright
    
    End If
End Sub
0