Recherche chaine de caractere dans excell

Résolu
ddeaidexls
Messages postés
2
Date d'inscription
mercredi 8 septembre 2004
Statut
Membre
Dernière intervention
15 septembre 2004
- 8 sept. 2004 à 00:36
ddeaidexls
Messages postés
2
Date d'inscription
mercredi 8 septembre 2004
Statut
Membre
Dernière intervention
15 septembre 2004
- 15 sept. 2004 à 01:07
Bonjour,

A partir de mon releve de compte récupérer sous excell, je souhaite affecterautomatiquement la dépense (ou recette) à un poste.
Par exemple "facture CB ELF xxxx" à "carburant", prélèvement tel mobile SFR à "téléphonie" etc.
Je veux faire un test du style :
si A1 contient "Elf " alors B1 = "carburant"
sinon si A1 contient "tel" alors B1= "téléphonie"
sinon etc.
Il doit y avoir 30 mots clés qui permeetent d'affecter quasiment toutes les dépenses.
J'ai fait des essais avec diiférentes fonctions excell (rechercheV, gauche, stxt, ... mais je ne m'en sort pas.
En fait je n'ai pas trouvé l'équivalent de la fonction "contient".
Merci pour votre aide.

3 réponses

cs_ITALIA
Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
9
8 sept. 2004 à 09:33
Correction :

' Ouvre l'application Excel
Set MonXl = CreateObject("Excel.Application") ' Ceci initialise la variable et charge Excel en arrière plan
MonXl.Visible = True 'Rend Excel visible...
MonXl.UserControl = True
' Ouvre MonFichier
MonXl.Workbooks.Open FileName:="C:\MonFichier.xls"

For i = 1 To 200
If InStr(1, MonXl.Range("A" & i).Value, "Elf") <> 0 Then MonXl.Range("B" & i).Value = "CARBURANT"
If InStr(1, MonXl.Range("A" & i).Value, "tel") <> 0 Then MonXl.Range("B" & i).Value = "TELEPHONIE"
....
....
....
....
....
....
....
....
....
Next

It@li@
3
cs_ITALIA
Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
9
8 sept. 2004 à 09:30
En Cochant Projet...Références : MIcrosoft EXCEL XX Object Library.

' Ouvre l'application Excel
Set MonXl = CreateObject("Excel.Application") ' Ceci initialise la variable et charge Excel en arrière plan
MonXl.Visible = True 'Rend Excel visible...
MonXl.UserControl = True
' Ouvre MonFichier
MonXl.Workbooks.Open FileName:="C:\MonFichier.xls"

For i= 1 to 200
Select Case MonXl.Range("A" & i ).Value

Case "Elf"
MonXl.Range("B" & i ).Value="CARBURANT"

Case "tel"
MonXl.Range("B" & i ).Value="TELEPHONIE"
....
....
....
....
....
....
....
....
....
End Select
Next

It@li@
0
ddeaidexls
Messages postés
2
Date d'inscription
mercredi 8 septembre 2004
Statut
Membre
Dernière intervention
15 septembre 2004

15 sept. 2004 à 01:07
Merci iTALIA. Cela fonctionne très bien. Juste une demande de renseignement supplémentaire : je ne comprends pas pourquoi cela ouvre une nouvelle feuille xls.
Je recopie le résultat de cette feuille dans ma feuille initiale.
0