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
Rejoignez-nous