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

Extraction d'une sous-chaine

22 réponses
Avatar
Apitos
Bonsoir,

Dans la feuille1 j'ai les donn=E9es suivantes :

Articles.....................Laboratoire
Bio-Tourbe-1 Biologie
Chm-Pipette-1 Chimie
Eln-Circuit int=E9gr=E9-1 Electronique
Eln-diode-1 Electronique
Eln-Omettre-1 Electronique
Elt-Ondulaire-1 Electricite
Bio- St=E9rilisateur -1 Biologie
Eln-Omettre-2 Electronique

Comment extraire les sous-chaines avant le tiret "-" dans la colonne A
ainsi que la valeur correspondante dans la colonne B pour avoir dans
Feuil2 le r=E9sultat suivant :

Laboratoire............... Abr=E9viation
Biologie Bio
Chimie Chm
Electronique Eln
Electricit=E9 Elt

Merci.

2 réponses

1 2 3
Avatar
JB
Sub Essai()
Set mondico = CreateObject("Scripting.Dictionary")
'------------- lecture anciens

Set f = Sheets("feuil2")
If [F2] <> "" Then
For Each c In f.Range("f2", f.[f65000].End(xlUp))
mondico.Add c.Value, c.Offset(0, 1)
Next c
End If
'------------- ajout des nouveaux
Set f = Sheets("feuil1")
For Each c In f.Range("B2", f.[B65000].End(xlUp))
If Not mondico.Exists(c.Value) Then mondico.Add c.Value,
Left(c.Offset(0, -1), InStr(c.Offset(0, -1), "-") - 1)
Next c
[F2].Resize(mondico.Count, 1) = Application.Transpose(mondico.keys)
[g2].Resize(mondico.Count, 1) = Application.Transpose(mondico.items)
End Sub

JB

On 3 déc, 19:54, Apitos wrote:
Bonsoir JB et tous le forum,

Si la macro est exécutée pour la première fois (colonne F et G de
Feuil2 sont vides) je reçois cette erreur :

Erreur d'exécution '13'
Incompatibilité de type

Et le débogueur se positionne sur cette ligne :

[g2].Resize(mondico.Count, 1) = Application.Transpose(mondico.items)

Que signifie tout cela ?

Merci.


Avatar
Apitos
Bonsoir JB,

J'ai eu quelques messages d'erreurs au début !!

Mais maintenant ça marche.

Je ne sais pas s'il est nécessaire de le faire, mais j'ai également
ajouté cette ligne :

'-------
Set mondico=Nothing
'-------

à la fin de la procédure.

Merci JB.
1 2 3