DORVAL0211
Messages postés3Date d'inscriptionmercredi 26 décembre 2007StatutMembreDernière intervention29 décembre 2007
-
29 déc. 2007 à 17:48
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 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?
DORVAL0211
Messages postés3Date d'inscriptionmercredi 26 décembre 2007StatutMembreDernière intervention29 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
us_30
Messages postés2065Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention14 mars 201610 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 ?