Fonction SI et GAUCHE VBA sur plage variable

Bonjour à tous et une excellente année !

Ce petit message car je suis bloqué sur une automatisation pour un fichier traité au quotidien. Malgré mes recherches je ne trouve pas la solution.

J'ai joint un fichier exemple car l'original contient des infos de travail donc un gênant de mettre en ligne...

Par avance Merci beaucoup pour pour votre aide

En Colonne B

Pour chaque nouveaux fichier cette colonne est alimentée en texte par un nombre variable de ligne ( dans ce cas de B2 à B14)

En Colonne C

En fonction des exemples en colonne B une Action doit apparaitre en colonne C (Format texte)

Pour compliquer tout ceci je ne peux utiliser que les 20 premiers caractères des exemples en colonne B (fonction =GAUCHE) pour identifier car les caractères suivants sont eux aussi variables

Pour information, en cellule C2 se trouve une fonction (sans =GAUCHE) qui fait ce travail mais qui n'est pas possible d'automatiser

22classeur1.xlsx (9.30 Ko)

Bonjour,

une partie déjà (sous réserve d'avoir compris tout )

P.

19classeur1.xlsx (9.77 Ko)

Bonjour,

Un exemple de ce que je comprends.

Cdlt.

20classeur1.xlsx (10.86 Ko)

Bonjour

Bonjour Jean-Eric

Une autre approche, mais... si j'ai bien compris !

25classeur1-v1.xlsm (16.14 Ko)

Bonjour à vous trois

Merci pour vos réponses et votre efficacité !

Les trois solutions répondent à ce que je dois faire, mais la solution de gmb est la plus adapté car en langage

VBA, ce qui me permet de l’intégrer à un fichier déjà automatisé. Je dois a présent faire des tests car le nombre

d'actions automatisées est important et il y a souvent des surprises...

Après avoir pris connaissance de vos solutions, je prends continence à quel point une formation m'est nécessaire,

d'ailleurs si vous avez des conseils sur ce sujet je suis preneur !

Pour finir je fais quelques tests tout à l'heure avant de mettre en résolu ce post.

Encore une fois merci beaucoup à vous trois

A nouveau bonjour,

J'ai pu avancer sur les tests, mais comme dans l'exemple du fichier joint, il n'est visiblement pas possible d'ignorer

un texte qui n'est pas présent dans la BDD,

Si vous pouvez me dire ce que vous en pensez ,

merci encore !

13classeur1-v1b.xlsm (18.58 Ko)

Essaye comme ceci:

Option Explicit

Dim c, cell

Sub Actions()

On Error Resume Next

For Each c In Range("B2:B" & Range("B" & Rows.Count).End(xlUp).Row)

Set cell = Sheets("BDD").Range("TEXTE").Find(c.Value, lookat:=xlWhole)

c.Offset(0, 1).Value = cell.Offset(0, 1).Value

Next c

End Sub

Patrick

Visiblement ça Fonctionne,

Est ce que donnes des cours ? éventuellement...

Je confirme tout à l'heure après de nouveaux tests..

merci encore !

Patrick

Je viens de tester, effectivement il n'y plus de débogage, le texte inconnu est ignoré, mais

de ce fait il n'y pas de message sur la cellule suivante.

L'exemple plus précis du fichier en PJ et plus parlant

Merci encore !

23classeur1-v1c.xlsm (19.16 Ko)

re,

pas grand'chose qui correspond en la feuille1 et la seconde...

difficile de faire un rapprochement dans cette manière présenter les choses

les données sont elles réellement comme ça ?

Re,

Oui les données en feuil1, ce sont les bonnes données. c'est pour cela que j'ai en tête de tenter un rapprochement

a partir des 17 premiers caractères compte tenu du facteur aléatoire des caractères suivants.

Tu as regardé jusqu'en bas de la colonne B de le feuil1 ?

cdt

Rechercher des sujets similaires à "fonction gauche vba plage variable"