Condition si avec caractere sous excel

Résolu
dianbobo Messages postés 151 Date d'inscription mardi 20 avril 2010 Statut Membre Dernière intervention 15 juin 2014 - 24 août 2010 à 12:20
dianbobo Messages postés 151 Date d'inscription mardi 20 avril 2010 Statut Membre Dernière intervention 15 juin 2014 - 25 août 2010 à 18:39
bonjour
je voudrais utiliser les premiers caracteres a gauche de ma colonne A d'excel dans un
condition "SI"


alors j'ai essayé :
=GAUCHE(A2, RECHERCHE(" ",A2,1))


mais ça ne me retourne pas les caractere voulus
A2= Tata dianbobo

il devrait me retourner tata

merci de votre aide

8 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
24 août 2010 à 14:27
Bonjour,

Petite correction..
Il manque également un argument à ton SI...

En gros tu veux : Si j'ai "TATA" dans la cellule à 2.. alors j'écris "BB" ..

- La fonction SI c'est : Si(condtion;Valeur si vrai;Valeur si faux)
- Une condition c'est par exemple : pour des tests sur des valeurs numérique: A2 10 ou A2<10 /pour tester du texte A2 "toto" ...

Bref, dans ton cas, ça donnerai :
=SI(GAUCHE(A2;CHERCHE(" ";A2))="TATA";"BB";"") 


nb: La fonction CHECHE n'est pas sensible à la casse (majuscule/minuscule).

Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
3
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
25 août 2010 à 13:44
Bonjour,

En vba tu as directement des fonctions pour manipuler les chaines de caractères.
Pour ton cas tu peux utiliser :

Sub toto()

'recup de la valeur de la cellule
    Ma_valeur = Sheets("Feuil4").Cells(2, 1).Value
'recherche de la position de l'espace dans le texte
    Recherche_espace = InStr(1, Ma_valeur, " ")
'recupere les premiers caractères à gauche de l'espace
    Valeur_a_gauche = Left(Ma_valeur, Recherche_espace - 1)
'affichage dans la feuille
    Sheets("Feuil4").Range("D3").Value = Valeur_a_gauche
End Sub





Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
3
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
24 août 2010 à 12:51
Bonjour,


remplace ta fonction RECHERCHE par un CHERHCE

=GAUCHE(A2;CHERCHE(" ";A2))



pour ma part, ça fonctionne correctement ainsi.


Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
0
dianbobo Messages postés 151 Date d'inscription mardi 20 avril 2010 Statut Membre Dernière intervention 15 juin 2014
24 août 2010 à 13:17
merci bien ça fonctionne bien


mais que puis-je faire pour l'utiliser dans une condition "SI"

je mexplique je veux avoir sur la meme ligne mais dans une autre colonne le mot "BB" sachant que
=GAUCHE(A2;CHERCHE(" ";A2))

est verifié
?
j'ai essayé ceci:
SI(GAUCHE(A2;CHERCHE(" ";A2));BB;"")
ça ne marche pas
merci bien
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
24 août 2010 à 14:21
Bonjour,

il faut que ton BB soit inscrit entre guillemets vu que c'est du texte :
=SI(GAUCHE(A2;CHERCHE(" ";A2));"BB";"") 


deplus, tu avais un signe = en trop (après ton SI)



Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
0
dianbobo Messages postés 151 Date d'inscription mardi 20 avril 2010 Statut Membre Dernière intervention 15 juin 2014
24 août 2010 à 16:16
merci bien
ça fonctionne
0
dianbobo Messages postés 151 Date d'inscription mardi 20 avril 2010 Statut Membre Dernière intervention 15 juin 2014
25 août 2010 à 13:05
bonjour
je reviens dans ce sujet car il s'agit de faire un code vba pour retourner le mot tout a gauche

j'ai donc fait un enregistrement de macro
puis j'ai essayé de la modifier mais
ça ne fonctionne pas
voici les deux macros:

Sub Macro1()
'
' Macro1 Macro
'
' Touche de raccourci du clavier: Ctrl+u
'
    ActiveCell.FormulaR1C1 = "=LEFT(RC[-2],SEARCH("" "",RC[-2]))"
    Range("D3").Select
    End Sub


sub toto()
worksheets("Feuil4").Range("D3") = Left(worksheets("Feuil4").Cells(2, 1), Search(" ", _
     worksheets("Feuil4").Cells(2, 1)))
end sub




j'ai une erreur sub ou fonction non definie ici
Search

merci de votre aide
0
dianbobo Messages postés 151 Date d'inscription mardi 20 avril 2010 Statut Membre Dernière intervention 15 juin 2014
25 août 2010 à 18:39
Re_bonjour
Jordane en utilisant la reponse ci-dessus
j'ai ecris un code que voici:

Sub note_rating()
    Dim Ma_valeur As String, meme_valeur As String
    Dim Recherche_espace As Long, cherche_espace As Long, lastrow As Long
    Dim Valeur_a_gauche As String, le_mot As String
    Dim k As Long
    k = worksheets("Synthèse").Cells(Rows.Count, 1).End(xlUp).Row
    lastrow = Workbooks("Nouvelle version - Risques contreparties FEV 2010").worksheets("Données").Cells(Rows.Count, 1).End(xlUp).Row
For i = 0 To k - 7 Step 3
    If worksheets("Parametrage").Cells(i + 7, "B").Value <> "" Then
    'recup de la valeur de la cellule
    Ma_valeur = Sheets("parametrage").Cells(i + 7, "B").Value
    'recherche de la position de l'espace dans le texte
    Recherche_espace = InStr(1, Ma_valeur, " ")
    'recupere les premiers caractères à gauche de l'espace
    Valeur_a_gauche = Left(Ma_valeur, Recherche_espace - 1)
    'affichage dans la feuille
    'Sheets("parametrage").Range("D3").Value = Valeur_a_gauche
        For j = 0 To lastrow
        meme_valeur = _
        Workbooks("Nouvelle version - Risques contreparties FEV 2010").worksheets("Données").Cells(j + 1, "A").Value
        cherche_espace = InStr(1, meme_valeur, " ")
        le_mot = Left(meme_valeur, cherche_espace - 1)
            If Ma_valeur = meme_valeur Then
            worksheets("Parametrage").Cells(i + 7, "C").Value = _
            Workbooks("Nouvelle version - Risques contreparties FEV 2010").worksheets("Données").Cells(j + 1, "N").Value
            End If
        Next
    End If
Next
End Sub
 



je voudrais ecrire en colonne C de ma feuille parametrage
les mots de la colonne N du classeur "Nouvelle version - Risques contreparties FEV 2010" de la feuille "Données"

ou ai-je peché?
moi en faisant F8
j'ai une erreur ici:
k = worksheets("Synthèse").Cells(Rows.Count, 1).End(xlUp).Row


j'avoue que je ne comprend pas pourquoi


merci encore
0
Rejoignez-nous