Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Match ????

9 réponses
Avatar
Jacquouille
Bonsoir

j'ai, en colonne A, une liste d'environ 250 noms, suivis d'un prix ....
(conneries issues d'un téléchargement)
Je désire supprimer le prix, donc le ou les derniers caractères de droite.
j'aimerais me servir de Match (si ma mémoire est bonne), avec un truc du
gendre (match(1,2,3...)

For each c in range("a1:a260")
zz = right(c,1)
if zz = match(1,2,3,4,5,6,7,8,9,0) then delete zz
next

mais mon PC ne comprend pas mon grand breton.
Une bonne âme qui explique bien, sans taper ?

Mille mercis et bonne fin de WE

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."

9 réponses

Avatar
MichD
Bonjour,

Si tu as un espace entre le nom et le prix, tu n'as pas besoin d'une macro.

Tu sélectionnes la colonne,
Appelle la commande "Convertir" du menu "données"
Et tu suis le guide...
Étape 1 : Délimité
Étape 2 : Choix du séparateur : Espace
Étape 3 : Dans la petite fenêtre du bas, tu choisis la colonne du prix et tu coches le
bouton radio : "Colonne non distribuée"
et tu cliques sur le bouton "Terminer".

Si ce n'est pas suffisant, donne une idée de ce que contient une cellule type de ta plage
de données et le résultat que tu
désires obtenir.


MichD
---------------------------------------------------------------
"Jacquouille" a écrit dans le message de groupe de discussion :
5027eb0c$0$3121$

Bonsoir

j'ai, en colonne A, une liste d'environ 250 noms, suivis d'un prix ....
(conneries issues d'un téléchargement)
Je désire supprimer le prix, donc le ou les derniers caractères de droite.
j'aimerais me servir de Match (si ma mémoire est bonne), avec un truc du
gendre (match(1,2,3...)

For each c in range("a1:a260")
zz = right(c,1)
if zz = match(1,2,3,4,5,6,7,8,9,0) then delete zz
next

mais mon PC ne comprend pas mon grand breton.
Une bonne âme qui explique bien, sans taper ?

Mille mercis et bonne fin de WE

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
Avatar
Jacquouille
Bonsoir Denis
Effectivement.
j'ai effectué le travail de cette manière, puis j'ai peaufiné.
Cependant, dans le but de nourrir mon neurone, j'aurais aimé faire le boulot
en VBA et voir s'il était possible d'utiliser ce fameux match.
Voici un exemple :
-------------
Valériane Officinale (Valeriana Officinalis) BIO Népal-Racine 7,47 13,37
Vanille bourbon* (extrait 400 gousses/L) Madagascar- Gousse 2,47 3,37
Verge d’or (Solidago Canadensis) BIO Canada-Partie aérienne 8,34 15,10
Verveine citronnée (Lippia Citriodora) Maroc-Feuille 12,11 22,65
Verveine citronnée (Lippia Citriodora) BIO Maroc-Feuille 14,31 27,06
Verveine exotique Voir Litsée citronnéeBIO - - -
Vetiver* (Vetiveria Zizanoides) Indonésie-Racine 3,74 5,66
Vetiver* (Vetiveria Zizanoides)BIO Sri Lanka-Racine 4,17 6,76
------------------
duquel je voulais enlever les deux prix (7,47 et 13,37)
--------------------
Merci et bonne soirée
jacques

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"MichD" a écrit dans le message de groupe de discussion :
k08spt$lte$

Bonjour,

Si tu as un espace entre le nom et le prix, tu n'as pas besoin d'une macro.

Tu sélectionnes la colonne,
Appelle la commande "Convertir" du menu "données"
Et tu suis le guide...
Étape 1 : Délimité
Étape 2 : Choix du séparateur : Espace
Étape 3 : Dans la petite fenêtre du bas, tu choisis la colonne du prix et tu
coches le
bouton radio : "Colonne non distribuée"
et tu cliques sur le bouton "Terminer".

Si ce n'est pas suffisant, donne une idée de ce que contient une cellule
type de ta plage
de données et le résultat que tu
désires obtenir.


MichD
---------------------------------------------------------------
"Jacquouille" a écrit dans le message de groupe de discussion :
5027eb0c$0$3121$

Bonsoir

j'ai, en colonne A, une liste d'environ 250 noms, suivis d'un prix ....
(conneries issues d'un téléchargement)
Je désire supprimer le prix, donc le ou les derniers caractères de droite.
j'aimerais me servir de Match (si ma mémoire est bonne), avec un truc du
gendre (match(1,2,3...)

For each c in range("a1:a260")
zz = right(c,1)
if zz = match(1,2,3,4,5,6,7,8,9,0) then delete zz
next

mais mon PC ne comprend pas mon grand breton.
Une bonne âme qui explique bien, sans taper ?

Mille mercis et bonne fin de WE

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
Avatar
MichD
Si tu tiens vraiment à une boucle, ceci est le plus simple :

'-------------------------------------
Sub test()
Dim T As Variant, C As Range

With Worksheets("Feuil1") 'Nom feuille à adapter
For Each C In Range("A1:A100") 'Plage à adapter
T = Split(Range("A1"), " ")
If UBound(T) > 2 Then
ReDim Preserve T(0 To UBound(T) - 2)
C.Offset(, 1).Value = Join(T, " ")
End If
Next
End With
End Sub
'-------------------------------------


MichD
---------------------------------------------------------------
Avatar
Jacquouille
Salut Denis
Grand merci à toi.
A quelle heure vas-tu dormir ? -)))
J'espère que ce n'est pas ma question qui t'a retenu si tard .
Vraiment très dispo pour le forum ... -))

Encore merci

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"MichD" a écrit dans le message de groupe de discussion :
k09k61$8l0$

Si tu tiens vraiment à une boucle, ceci est le plus simple :

'-------------------------------------
Sub test()
Dim T As Variant, C As Range

With Worksheets("Feuil1") 'Nom feuille à adapter
For Each C In Range("A1:A100") 'Plage à adapter
T = Split(Range("A1"), " ")
If UBound(T) > 2 Then
ReDim Preserve T(0 To UBound(T) - 2)
C.Offset(, 1).Value = Join(T, " ")
End If
Next
End With
End Sub
'-------------------------------------


MichD
---------------------------------------------------------------
Avatar
Jacquouille
Re
Denis, tant que tu y es, peux-tu me réexpliquer la fonction Match, steplé?
Excel est assez avare sur ce sujet.



Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"MichD" a écrit dans le message de groupe de discussion :
k09k61$8l0$

Si tu tiens vraiment à une boucle, ceci est le plus simple :

'-------------------------------------
Sub test()
Dim T As Variant, C As Range

With Worksheets("Feuil1") 'Nom feuille à adapter
For Each C In Range("A1:A100") 'Plage à adapter
T = Split(Range("A1"), " ")
If UBound(T) > 2 Then
ReDim Preserve T(0 To UBound(T) - 2)
C.Offset(, 1).Value = Join(T, " ")
End If
Next
End With
End Sub
'-------------------------------------


MichD
---------------------------------------------------------------
Avatar
MichD
Débute par lire l'aide d'Excel sur la fonction de la feuille de calcul "Equiv()". La
fonction "Match"
est la même et elle a les mêmes arguments.

Si tu as besoin d'information supplémentaire, fais-le savoir.



MichD
---------------------------------------------------------------
Avatar
Gloops
Jacquouille a écrit, le 12/08/2012 19:42 :
Bonsoir

j'ai, en colonne A, une liste d'environ 250 noms, suivis d'un prix ....
(conneries issues d'un téléchargement)
Je désire supprimer le prix, donc le ou les derniers caractères de droite.
j'aimerais me servir de Match (si ma mémoire est bonne), avec un truc du
gendre (match(1,2,3...)





Bonjour,

A supposer que tu puisses un jour en avoir d'autres, des comme ça, tu
devrais te documenter sur les expressions régulières.
Au début tu vas mettre plus de temps à comprendre comment on s'en ser t,
mais après pour trouver la position d'un chiffre dans une chaîne de
caractères ça fournit une solution élégante.
Avatar
Jacquouille
Bonjour
Merci pour ce point de vue.
Voici l'exemple donné :
----------------
Valériane Officinale (Valeriana Officinalis) BIO Népal-Racine 7,47 13,37
Vanille bourbon* (extrait 400 gousses/L) Madagascar- Gousse 2,47 3,37
Verge d’or (Solidago Canadensis) BIO Canada-Partie aérienne 8,34 15,10
Verveine citronnée (Lippia Citriodora) Maroc-Feuille 12,11 22,65
Verveine citronnée (Lippia Citriodora) BIO Maroc-Feuille 14,31 27,06
Verveine exotique Voir Litsée citronnéeBIO - - -
Vetiver* (Vetiveria Zizanoides) Indonésie-Racine 3,74 5,66
Vetiver* (Vetiveria Zizanoides)BIO Sri Lanka-Racine 4,17 6,76
--------------------------------
Avec l'idée que tu as derrière la tête, peux-tu me supprimer les deux prix
de droite, sachant qu'il y a de la virgule dans l'air, mais pas toujours à
la même place ?

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"Gloops" a écrit dans le message de groupe de discussion :
k0fjl7$4bt$

Bonjour,

A supposer que tu puisses un jour en avoir d'autres, des comme ça, tu
devrais te documenter sur les expressions régulières.
Au début tu vas mettre plus de temps à comprendre comment on s'en sert,
mais après pour trouver la position d'un chiffre dans une chaîne de
caractères ça fournit une solution élégante.
Avatar
Jacquouille
Juste pour le fun
Je viens de me pondre cela:
------------------
Sub Enlever_les_prix()
For Each c In Range("a1:a250")
For zz = 48 To 57
c.Replace what:=Chr(zz), replacement:="": c.Replace what:=Chr(44),
replacement:=""
Next
Next
End Sub
----------------



Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"Jacquouille" a écrit dans le message de groupe de discussion :
502b854f$0$3122$

Bonjour
Merci pour ce point de vue.
Voici l'exemple donné :
----------------
Valériane Officinale (Valeriana Officinalis) BIO Népal-Racine 7,47 13,37
Vanille bourbon* (extrait 400 gousses/L) Madagascar- Gousse 2,47 3,37
Verge d’or (Solidago Canadensis) BIO Canada-Partie aérienne 8,34 15,10
Verveine citronnée (Lippia Citriodora) Maroc-Feuille 12,11 22,65
Verveine citronnée (Lippia Citriodora) BIO Maroc-Feuille 14,31 27,06
Verveine exotique Voir Litsée citronnéeBIO - - -
Vetiver* (Vetiveria Zizanoides) Indonésie-Racine 3,74 5,66
Vetiver* (Vetiveria Zizanoides)BIO Sri Lanka-Racine 4,17 6,76
--------------------------------
Avec l'idée que tu as derrière la tête, peux-tu me supprimer les deux prix
de droite, sachant qu'il y a de la virgule dans l'air, mais pas toujours à
la même place ?

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"Gloops" a écrit dans le message de groupe de discussion :
k0fjl7$4bt$

Bonjour,

A supposer que tu puisses un jour en avoir d'autres, des comme ça, tu
devrais te documenter sur les expressions régulières.
Au début tu vas mettre plus de temps à comprendre comment on s'en sert,
mais après pour trouver la position d'un chiffre dans une chaîne de
caractères ça fournit une solution élégante.