Créer un programme VB pour Excel

DORVAL0211 Messages postés 3 Date d'inscription mercredi 26 décembre 2007 Statut Membre Dernière intervention 29 décembre 2007 - 29 déc. 2007 à 17:48
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 29 déc. 2007 à 22:54
Bonjour à tous,
J'ai besoin de vous pour créer un petit programme Visual Basic pour Excel 2003

je vous explique le scénario:
Un dossier comportant un nombre non défini de fichiers excel
Un fichier de lancement de la macro A placé dans le même dossier
Un fichier de collecte d'informations B placé dans le même dossier

- lancer la macro A qui ouvre le premier fichier excel M1et qui effectue les tâches suivantes:
- lance une macro spécifique interne et identique à chaque fichier
- si il y a un résultat # <> dans une colonne donné, elle récupére le nom du fichier et les numéros des lignes présentant un résultat # <> et l'enregistre dans le fichier de collecte B.
- fermeture du fichier M1 et ouverture de la suivante M2 ainsi de suite

Je bute désespéremment sur les boucles, quelqu'un peut-il être sympa et m'aider?


Je vous remercie par avance

DorvalTheta[Insert_Emoticon('/imgs2/smile_approve.gif'); ]

6 réponses

us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
29 déc. 2007 à 20:01
peut-être en commençant par lire le règlement...

Us.
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
29 déc. 2007 à 21:06
Et en expliquant ce que tu entends par petit programme Visual Basic pour Excel 2003
Est-ce VB6 ou VBA d'Excel ?
ou encore VB.Net ?

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA.
0
DORVAL0211 Messages postés 3 Date d'inscription mercredi 26 décembre 2007 Statut Membre Dernière intervention 29 décembre 2007
29 déc. 2007 à 22:19
J'ai relu le réglement, je comprends
mais je suis un débutant, j'ai acheté VB6, mais depuis hier, je sature, je n'avance pas.
J'ai cette macro à faire tourner avant la fin de la semaine prochaine, en dernier recours, je me tourne vers vous.

Sub 

Dim FILE as string

For FILE= M1 To M269
Windows ("FILE") .Activate
Application.Run "FILE.xls!CHERCHE1X0"
Sub (Cherche Client CIB/Refusal)
selection.AutoFilter Field:=24, Criterial:="0"
selection.AutoFilter Field:=23, Criterial:="1"
selection.AutoFilter Field:=22, Criterial:="PARIS"
selection.AutoFilter Field:=21, Criterial:="MALE"
selection.AutoFilter Field:=20, Criterial:=">= 100"
ActiveWindows, SmallScroll ToRight:=-8
End Sub

IF "column:=23"= "1" THEN (copier reference fichier + reference ligne)

GO TO 
WINDOWS("reception") .Activate
For LINE = 1 TO 60 000
IF LINE 1 = EMPTY
(coller reference fichier + reference ligne)
ELSE LINE = LINE + 1

ELSE
Close Windows ("FILE")

NEXT

DorvalTheta[Insert_Emoticon('/imgs2/smile_approve.gif'); ]
0
DORVAL0211 Messages postés 3 Date d'inscription mercredi 26 décembre 2007 Statut Membre Dernière intervention 29 décembre 2007
29 déc. 2007 à 22:20
le VB d'EXCEL

DorvalTheta[Insert_Emoticon('/imgs2/smile_approve.gif'); ]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
29 déc. 2007 à 22:38
Ouuuuhhhh làlàlàlà !

Sub  'sans nom !

Dim FILE as string 'FILE en string pour un FOR !

For FILE= M1 To M269  ' M1 et M269 sans valeur !
Windows ("FILE") .Activate 
Application.Run "FILE.xls!CHERCHE1X0"
Sub (Cherche Client CIB/Refusal)  ' et où est le NEXT pour for ?, sans compter que tu vas lancer je ne sais pas combien de fois Application.run .... m'eufff... pas sortie de l'auberge...

{.... patati, patata ...}

IF "column:=23"= "1" THEN (copier reference fichier + reference ligne) ' j'adore le commantaire !

GO TO 'GO TO existe encore en VB, mais s'écrit GOTO... pas chance !
WINDOWS("reception") .Activate
For LINE = 1 TO 60 000
IF LINE 1 = EMPTY (coller reference fichier + reference ligne)  'bon, ben colle référence fichier... mais j'sais pas pour quoi faire ? et n'oublie pas le THEN...
ELSE LINE = LINE + 1 ' oui bon... comme tu es déjà dans un boucle FOR, LINE sera incrémenté...

ELSE 'deux ELSE à la suite... SINON rien !
Close Windows ("FILE")

NEXT  ' oohhh ! c'est le next du premier FOR !

Sympa ton code, mais si tu demandes qu'on le trouve le BUG, va il y avoir du boulot ! Personnellement, je suis vert d'avance.... Désolé... Qui veut aider ?

Us.
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
29 déc. 2007 à 22:54
Nope, trop de boulot ...
Ça va finir qu'on va lui faire le code et il n'aura rien compris.

Dorval, va vite t'acheter un bouquin et beaucoup de café.

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA.
0
Rejoignez-nous