Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Recherche une chaîne de caractère dans une ligne et récupérer la lettres de la colonn

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

churos

XLDnaute Nouveau
Voila, je fais de nouveau appel à vous aujourd'hui.
J'ai un autre soucis, je dois chercher dans un autre fichier une chaîne de caractère, en ne connaissant que le numéro de la ligne.
Et je dois récupérer la lettre de cette colonne pour pouvoir ensuite l'utiliser pour un traitement.
Donc il faudrait pouvoir stocker la lettre dans une variable.
Avez vous une idées pour permettre la recherche de ce contenu dans la ligne et la récupération de la lettre de la colonnes dans la variable ?

Je vous remercie par avance,
cordialement
 
Re : Recherche une chaîne de caractère dans une ligne et récupérer la lettres de la c

Bonjour,

En imaginant que le libellé recherché soit en A1, et que la zone de recherche soit en ligne 2 entre les colonnes A et D, tu peux essayer ce type de formule qui te renverra la lettre de la colonne (si comprise entre A et Z pas plus loin)

Code:
=CAR(64+EQUIV("*"&A1&"*";A2:D2;0))

Tu peux aussi faire une macro, mais sans fichier pour tester tout cela reste un peu abstrait ...

Bonne journée,

mth

Edit: Bonjour tototiti 🙂 🙂
 
Dernière édition:
Re : Recherche une chaîne de caractère dans une ligne et récupérer la lettres de la c

Bonjour churos, Bonjour Mireille 🙂,

Sinon, si on veut pouvoir aller au-delà de Z :

Code:
=GAUCHE(ADRESSE(1;EQUIV("*"&A1&"*";2:2;0);2);CHERCHE("$";ADRESSE(1;EQUIV("*"&A1&"*";2:2;0);2))-1)
 
Re : Recherche une chaîne de caractère dans une ligne et récupérer la lettres de la c

Je vous remercie, mais ceci est il aussi possible en macro, car j'aurais besoin de récupérer la valeur en macro( j'ai oublier de le mentionner).
Je vais essayer de convertir ce que vous m'avez donnés.
Je vous remercie encore une fois, et si vous avez la solution en macro je suis preneur 😛
Sinon je la posterai, si je la trouve 😛
 
Re : Recherche une chaîne de caractère dans une ligne et récupérer la lettres de la c

Re,

Oui, c'est possible
L'autre fichier est ouvert ?

si oui

Code:
Sub LettrCol()
Dim ChaineCherchee As String, NumCol As Long, NumLigne As Long, TextCol As String
    ChaineCherchee = "MONTEXTE"
    NumLigne = 2
    With Workbooks("Classeur1.xls").Worksheets("Feuil1")
        NumCol = Application.Match("*" & ChaineCherchee & "*", .Range(NumLigne & ":" & NumLigne), 0)
        TextCol = Left(.Cells(1, NumCol).Address(ColumnAbsolute:=False), InStr(1, .Cells(1, NumCol).Address(ColumnAbsolute:=False), "$") - 1)
    End With
    MsgBox TextCol
End Sub
 
Re : Recherche une chaîne de caractère dans une ligne et récupérer la lettres de la c

Je te remercie en retouche le bout de vba que tu m'a donné sa marche niquel.
maintenant me reste un petit soucis c'est de faire une conditions :
voici mon code :
While p < 10000
If Cells(TextCol, p) = Null Then
sav_p = p - 1
sav_v = Cells(TextCol, p).Value
p = 10001
Else
p = p + 1
End If
La condition ne fonctionne plus, avant j'avais une du style : if IsEmpty(Range("H"&p) then.
Mais cela ne fonctionne pas, peut être je fais une mauvais incrémentation de mes variable pour les coordonnées de la cellules ?
 
Re : Recherche une chaîne de caractère dans une ligne et récupérer la lettres de la c

Re,

Peux-tu expliquer en français le test que tu souhaites réaliser (parce qu'un bout de code VBA qui ne marche pas, c'est moyennement parlant...)

Edit : La lettre de la colonne, c'était pour l'utiliser dans Cells ???
Sais-tu que Cells accepte également un nombre pour la colonne ?
 
Re : Recherche une chaîne de caractère dans une ligne et récupérer la lettres de la c

En faites, le programme doit chercher dans un autre excel un mots par exemples Clics,
Ensuite il doit récupérer la lettre de la colonne, puis ensuite avec une boucle, il doit trouver dans cette colonnes une celulle vide et non égale a 0, prendre la cellule juste avant, et la sauvegarder dans une variable.

Edit : et justement jetait entrain de me renseigner pour transformer cette lettre en chiffre.
 
Re : Recherche une chaîne de caractère dans une ligne et récupérer la lettres de la c

Re,

et justement jetait entrain de me renseigner pour transformer cette lettre en chiffre.

C'est plus simple de trouver le numéro de la colonne que sa lettre, si tu n'as pas besoin de la lettre :

Code:
Sub NumCol()
Dim ChaineCherchee As String, NumCol As Long, NumLigne As Long
    ChaineCherchee = "MONTEXTE"
    NumLigne = 2
    With Workbooks("Classeur1.xls").Worksheets("Feuil1")
        NumCol = Application.Match("*" & ChaineCherchee & "*", .Range(NumLigne & ":" & NumLigne), 0)
    End With
    MsgBox NumCol
End Sub

il doit trouver dans cette colonnes une celulle vide et non égale a 0, prendre la cellule juste avant, et la sauvegarder dans une variable

Euhh..... un petit bout de fichier exemple avec des données et une explication de la cellule à trouver ?? désolé, soit je ne suis pas doué, soit ça n'est pas très bien expliqué 🙄
 
Re : Recherche une chaîne de caractère dans une ligne et récupérer la lettres de la c

Enfaites le fichier cherche la seule case vide de la colonnes, (le fichier est un rapport soit toute les cellules sont plein), il trouve la cellule vide et sauvegarde la valeur de la cellule juste avant (correspondant à un total dans un rapport).Mais la cellule recherche doit donc être vide et non égale a 0(car dans un rapport il peut y avoir des 0).Mais cela je l'ai bien gérer il manquer juste la partie de recherche 😛
EDIT: Le code fonctionne, merci 🙂
Mais pour la commande Cells, il faut mettre d'abord la ligne ou la colonne ?
Pour récupérer la valeur de la cellule avec Cells comment fait-on ? (jusqu'a présent j'utilise Range 😛)
Rédit: Pour mieux m'expliquer,
Le code cherche dans une page rapport la valeur correspondant au total d'une catégorie,
pour cela j'utilise le fais que après la valeur total, les case sont vide, soit mon code cherche une case vide et sauvegarde sa valeur.
Avant tout marcher car j'avais uniquement les lignes en variables, maintenant je met les colonnes ainsi que les lignes car d'un fichier à un autre le rapport peut changer.
J'espère avoir été clair 😛
 
Dernière édition:
Re : Recherche une chaîne de caractère dans une ligne et récupérer la lettres de la c

J'ai trouver, je m’étais tromper dans l'appel d'une variable en modifiant le code, merci à toi et bonne journée.
Tu m'a permis de finaliser mon application 🙂
 
Re : Recherche une chaîne de caractère dans une ligne et récupérer la lettres de la c

Re,

Mais pour la commande Cells, il faut mettre d'abord la ligne ou la colonne ?
Code:
Cells(NumLigne, NumColonne)
Pour récupérer la valeur de la cellule avec Cells comment fait-on ? (jusqu'a présent j'utilise Range 😛)
Code:
MaVar = Workbooks("Classeur1.xls").Worksheets("Feuil1").Cells(NumLigne, NumColonne).Value
après la valeur total, les case sont vide
Et ton total est la dernière ligne remplie de la colonne ?
Si oui, tu peux connaitre la dernière ligne remplie d'une colonne facilement

Code:
With Workbooks("Classeur1.xls").Worksheets("Feuil1")
MaVar = .Cells(.rows.count, NumCol).end(xlup).value
End With
Edit : De nombreuses réponses à tes questions se trouvent dans l'aide VBA, pense à utiliser la touche F1 dans Visual Basic Editor
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…