[VBA] Problème macro Excel
Résolu/Fermé
medeuy
Messages postés
44
Date d'inscription
mardi 6 février 2007
Statut
Membre
Dernière intervention
28 décembre 2009
-
30 mai 2008 à 10:35
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 10 juin 2008 à 15:39
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 10 juin 2008 à 15:39
A voir également:
- [VBA] Problème macro Excel
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
10 réponses
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
30 mai 2008 à 10:44
30 mai 2008 à 10:44
Bonjour,
Nb_Query_N2 n'est pas initialisé ? ou alors quel est sa valeur ?
A+
Nb_Query_N2 n'est pas initialisé ? ou alors quel est sa valeur ?
A+
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
30 mai 2008 à 12:35
30 mai 2008 à 12:35
Je sais que quand ont a une idée dans la tête il est parfois difficile de se la sortir mais...
WORKBOOK c'est un CLASSEUR et Sheets c'est UNE FEUILLE et ca m'étonnerais que tu ai un classeur avec le même nom que la feuille !!
Quel est le nom DU CLASSEUR ?
Quel est le nom DE LA FEUILLE ?
WORKBOOK c'est un CLASSEUR et Sheets c'est UNE FEUILLE et ca m'étonnerais que tu ai un classeur avec le même nom que la feuille !!
Quel est le nom DU CLASSEUR ?
Quel est le nom DE LA FEUILLE ?
medeuy
Messages postés
44
Date d'inscription
mardi 6 février 2007
Statut
Membre
Dernière intervention
28 décembre 2009
30 mai 2008 à 14:13
30 mai 2008 à 14:13
g voulu donner un nom de feuille identique au nom du fichier d'ou provient les données mais si tu me dis que c'est pas possible que sa doi causer des problemes je veux bien te croire mais jtien pa a tvexé c pa un fichier ki a sa feuille avec le meme nom voila.
Mais abandonne c pa grave je vais cherché une autre methode et je te soliciterai si je n'y arrive toujours pas.
Merci en tou cas
Mais abandonne c pa grave je vais cherché une autre methode et je te soliciterai si je n'y arrive toujours pas.
Merci en tou cas
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
30 mai 2008 à 14:47
30 mai 2008 à 14:47
Faut pas abandonner vite... examine bien mes rematques..
Ca peu ne pas être juste je n'ai pas l'ensemble de l'appli.
Quel est le nom du classeur sur lequel les donnée sont déjà
tu dit..
A+
'Mon avis, ajouter ces lignes Dim CeClasseur As String CeClasseur = ThisWorkbook.FullName '------------------------------------------------------------------------ 'ICI tu crée un nouveau classeur avec le nom Requetes Niveau 2.xls Set NewClasseur = Workbooks.Add 'Création du classeur contenant les différentes requetes de N2 With NewClasseur .Title = "Requetes Niveau 2" .Subject = "Query N2" .SaveAs Filename:="Requetes Niveau 2.xls" End With '------------------------------------------------------------------------ For i = 1 To Nb_Query_N2 'd'aptès tes dires = 16 'ICI tu ajoute des nouvelles feuilles NOMS = 'QueryN2_File1 : QueryN2_File2 : QueryN2_File3 etc.. jusque 16 File_txt = "QueryN2_File" & i Set NewSheet = Worksheets.Add ' Création de la feuille pour chaque requete NewSheet.Name = File_txt 'Nomage de la feuille du nom de la requete Zadig '----------------------------- 'LE PROBLEME COMMENCE ICI JE PENSE 'ICI tu veux activer des classeurs avec les NOMS = 'QueryN2_File1 : QueryN2_File2 : QueryN2_File3 etc.. jusque 16 'MAIS OU SONT-IL ??, je ne vois nulle part que tu a créer des classeurs 'avec ces noms, à moins que tu les ai créer sur le DD 'et que tu les ai déjà OUVERT Workbooks("QueryN2_File" & i).Activate 'ICI tu veux sélectionner une feuille dans un classeur qui je pense 'n'existe pas. 'ICI Je pense que tu doit remplacer la ligne du dessus par 'Workbooks(CeClasseur).activate Sheets("N2SDB").Select Range(Cells(1, 1), Cells(300, 100)).Select Selection.Copy Workbooks("Requetes Niveau 2.xls").Sheets("QueryN2_File" & i).Activate Cells(1, 1).Select ActiveSheet.Paste ThisWorkbook.Sheets("QueryN2_File" & i).Activate 'ICI Je pense que tu doit remplacer la ligne du dessus par 'Workbooks(CeClasseur).activate Next i
Ca peu ne pas être juste je n'ai pas l'ensemble de l'appli.
Quel est le nom du classeur sur lequel les donnée sont déjà
tu dit..
A+
medeuy
Messages postés
44
Date d'inscription
mardi 6 février 2007
Statut
Membre
Dernière intervention
28 décembre 2009
30 mai 2008 à 14:58
30 mai 2008 à 14:58
Ce que tu m'as fait est bien et je vais t'expliquer toute l'appli tu me dis ce que tu en penses
J'ai crée un fichier Lanceur.xls la premiere feuille est une feuille INI ou sont stockés les noms des fichiers placés sur un serveur dont QueryN2Files1...2..3..etc.
Ce fichier Lanceur consiste à executer à son ouverture un formulaire pour selectionner le niveau que je veux.
En choisissant Niveau 2 normalement j'aimerai que qu'il crée le fichier Requêtes Niveau 2.xls avec des feuilles possédant le nom des fichiers qui sont sur le serveur c'est à dire QueryN2Files1..2..3 etc... et que les données qui sont dans ces fichiers sur le serveur atterissent dans Requêts Niveau 2.xls à la feuille correspondante.
J'espere que tu as compris sinon je ne vois pas ce que je peux te dire mais merci c gentil!
J'ai crée un fichier Lanceur.xls la premiere feuille est une feuille INI ou sont stockés les noms des fichiers placés sur un serveur dont QueryN2Files1...2..3..etc.
Ce fichier Lanceur consiste à executer à son ouverture un formulaire pour selectionner le niveau que je veux.
En choisissant Niveau 2 normalement j'aimerai que qu'il crée le fichier Requêtes Niveau 2.xls avec des feuilles possédant le nom des fichiers qui sont sur le serveur c'est à dire QueryN2Files1..2..3 etc... et que les données qui sont dans ces fichiers sur le serveur atterissent dans Requêts Niveau 2.xls à la feuille correspondante.
J'espere que tu as compris sinon je ne vois pas ce que je peux te dire mais merci c gentil!
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
>
medeuy
Messages postés
44
Date d'inscription
mardi 6 février 2007
Statut
Membre
Dernière intervention
28 décembre 2009
30 mai 2008 à 15:10
30 mai 2008 à 15:10
en effet c'est beaucoup plus clair, reste 2 questions..
Quand tu lance la macro.. Les 16 Classeurs sont déjà ouvert ?
si oui, pas de 2ém question
Sinon..
Il faut d'abord les ouvrir et avec le chemin complet y compris réseau.
A+
EDIT:
Tes 'Fichiers' c'est bien des classeurs xls ?
Quand tu lance la macro.. Les 16 Classeurs sont déjà ouvert ?
si oui, pas de 2ém question
Sinon..
Il faut d'abord les ouvrir et avec le chemin complet y compris réseau.
A+
EDIT:
Tes 'Fichiers' c'est bien des classeurs xls ?
medeuy
Messages postés
44
Date d'inscription
mardi 6 février 2007
Statut
Membre
Dernière intervention
28 décembre 2009
>
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
30 mai 2008 à 15:29
30 mai 2008 à 15:29
Non non c'est censé etre un classeur avec 16 feuilles et les 16 classeur ou il va récuperer les données sont sur le serveur.
Est ce que je dois tous les ouvrir ou je peux lui demander de les ouvrir et récuperer mes données?
a+
Est ce que je dois tous les ouvrir ou je peux lui demander de les ouvrir et récuperer mes données?
a+
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
>
medeuy
Messages postés
44
Date d'inscription
mardi 6 février 2007
Statut
Membre
Dernière intervention
28 décembre 2009
30 mai 2008 à 16:17
30 mai 2008 à 16:17
NOUS Y SOMME ENFIN.....
Bien sur que tu doit les ouvrir, y a moyen de faire autrement mais beaucoup plus compliqué, et sur réseaux je sais pas si c'est possible)
Les réseaux je métrise pas, mais je pense que tu aurais plus facile de les ouvrir avec des Hyperlink que tu placerais sur ta feuille "INI"
exemple:
adresse dans cellule
Range("C11").Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
ou alors avec Workbooks.open(chemin & nom complet)
Bien sur que tu doit les ouvrir, y a moyen de faire autrement mais beaucoup plus compliqué, et sur réseaux je sais pas si c'est possible)
Les réseaux je métrise pas, mais je pense que tu aurais plus facile de les ouvrir avec des Hyperlink que tu placerais sur ta feuille "INI"
exemple:
adresse dans cellule
Range("C11").Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
ou alors avec Workbooks.open(chemin & nom complet)
medeuy
Messages postés
44
Date d'inscription
mardi 6 février 2007
Statut
Membre
Dernière intervention
28 décembre 2009
>
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
30 mai 2008 à 16:49
30 mai 2008 à 16:49
Avec Workbooks.open sa miré mieu mais si sa ne marche pas jessaye le reste.
Merci a+
Merci a+
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
3 juin 2008 à 19:29
3 juin 2008 à 19:29
Bonjour,
Avec les explications qie tu donne ont est reparti pour la gloire, tâche d'EXPLIQUER CA CLAIREMENT ET COMPLETEMENT, avec des extraits de codes si nécessaire.
A+
Avec les explications qie tu donne ont est reparti pour la gloire, tâche d'EXPLIQUER CA CLAIREMENT ET COMPLETEMENT, avec des extraits de codes si nécessaire.
A+
medeuy
Messages postés
44
Date d'inscription
mardi 6 février 2007
Statut
Membre
Dernière intervention
28 décembre 2009
6 juin 2008 à 08:41
6 juin 2008 à 08:41
Bonjour,
Dis moi je voulais savoir j'essaye mais je n'arrive pas : J'essaie de copier deux zones et de les coler dans le même tableau a peu près le probleme c'est qu'il ne colle qu'une seule zone pas la deuxieme. EN GROS C'EST L'UNE OU L'AUTRE
Feuille_enCours = Chemin_Files & "\" & QueryN4_File(i) & ".txt"
Workbooks(Feuille_enCours).Activate
Sheets(QueryN4_File(i)).Select
Range(Cells(index_section_homme, 6), Cells(index_section_homme + 9, 24)).Select
Selection.Copy
Workbooks(File_Out_N4).Activate
Sheets(Nom_Adr_Query_N4(i)).Select
Cells.Select
Range(Cells(22, 4), Cells(31, 17)).Select
ActiveSheet.Paste
Feuille_enCours = Chemin_Files & "\" & QueryN4_File(i) & ".txt"
Workbooks(Feuille_enCours).Activate
Sheets(QueryN4_File(i)).Select
Range(Cells(index_section_femme, 6), Cells(index_section_femme + 9, 24)).Select
Selection.Copy
Workbooks(File_Out_N4).Activate
Sheets(Nom_Adr_Query_N4(i)).Select
Cells.Select
Range(Cells(10, 4), Cells(20, 17)).Select
ActiveSheet.Paste
Dis moi je voulais savoir j'essaye mais je n'arrive pas : J'essaie de copier deux zones et de les coler dans le même tableau a peu près le probleme c'est qu'il ne colle qu'une seule zone pas la deuxieme. EN GROS C'EST L'UNE OU L'AUTRE
Feuille_enCours = Chemin_Files & "\" & QueryN4_File(i) & ".txt"
Workbooks(Feuille_enCours).Activate
Sheets(QueryN4_File(i)).Select
Range(Cells(index_section_homme, 6), Cells(index_section_homme + 9, 24)).Select
Selection.Copy
Workbooks(File_Out_N4).Activate
Sheets(Nom_Adr_Query_N4(i)).Select
Cells.Select
Range(Cells(22, 4), Cells(31, 17)).Select
ActiveSheet.Paste
Feuille_enCours = Chemin_Files & "\" & QueryN4_File(i) & ".txt"
Workbooks(Feuille_enCours).Activate
Sheets(QueryN4_File(i)).Select
Range(Cells(index_section_femme, 6), Cells(index_section_femme + 9, 24)).Select
Selection.Copy
Workbooks(File_Out_N4).Activate
Sheets(Nom_Adr_Query_N4(i)).Select
Cells.Select
Range(Cells(10, 4), Cells(20, 17)).Select
ActiveSheet.Paste
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
>
medeuy
Messages postés
44
Date d'inscription
mardi 6 février 2007
Statut
Membre
Dernière intervention
28 décembre 2009
6 juin 2008 à 22:42
6 juin 2008 à 22:42
Impossible de suivre tes macros, je ne sais pas la contenu des variables, tu ferais bien de faire un pas à pas et voir où ca foire, et controler les valeurs des variables.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
medeuy
Messages postés
44
Date d'inscription
mardi 6 février 2007
Statut
Membre
Dernière intervention
28 décembre 2009
9 juin 2008 à 14:08
9 juin 2008 à 14:08
Bonjour,
Je suis en train de concevoir une macro qui génère automatiquement un fichier et l'enregistre dans un dossier.
La macro marche cependant j'ai un petit problème: comme cette application est tenue à etre utilisée plusieurs fois lorsque je l'execute Windows me demande si je veux l'enregistrer et écraser le fichier deja existant....
SI JE METS OUI : TOUT MARCHE CORRECTEMENT!!!
SI JE METS NON :LA MACRO S'EXECUTE QUAND MM MAIS BUG AUSSITOT ET EXCEL N'EST PLUS UTILISABLE!!!
Je suis en train de concevoir une macro qui génère automatiquement un fichier et l'enregistre dans un dossier.
La macro marche cependant j'ai un petit problème: comme cette application est tenue à etre utilisée plusieurs fois lorsque je l'execute Windows me demande si je veux l'enregistrer et écraser le fichier deja existant....
SI JE METS OUI : TOUT MARCHE CORRECTEMENT!!!
SI JE METS NON :LA MACRO S'EXECUTE QUAND MM MAIS BUG AUSSITOT ET EXCEL N'EST PLUS UTILISABLE!!!
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
9 juin 2008 à 16:20
9 juin 2008 à 16:20
montre la partie de macro concernée
medeuy
Messages postés
44
Date d'inscription
mardi 6 février 2007
Statut
Membre
Dernière intervention
28 décembre 2009
>
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
9 juin 2008 à 16:40
9 juin 2008 à 16:40
Justement je ne sais absolument pas comment concevoir tout ça, dans ce domaine la......
c'est pour ca que je te solicite peut etre que tu peux m'aider
c'est pour ca que je te solicite peut etre que tu peux m'aider
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
9 juin 2008 à 17:00
9 juin 2008 à 17:00
La macro marche cependant j'ai un petit problème: comme cette application est tenue à etre utilisée plusieurs fois lorsque je l'execute Windows me demande si je veux l'enregistrer et écraser le fichier deja existant....
SI JE METS OUI : TOUT MARCHE CORRECTEMENT!!!
SI JE METS NON :LA MACRO S'EXECUTE QUAND MM MAIS BUG AUSSITOT ET EXCEL N'EST PLUS UTILISABLE!!!
Pour qu'Excell te demande ca, c'est que tu ferme un classeur !!! sinon dans ce que tu montre rien ne permet d'avoir cette demande, alors réfléchi bien encore une fois et MONTRE OU TU FERME UN CLASSEUR.
A+
SI JE METS OUI : TOUT MARCHE CORRECTEMENT!!!
SI JE METS NON :LA MACRO S'EXECUTE QUAND MM MAIS BUG AUSSITOT ET EXCEL N'EST PLUS UTILISABLE!!!
Pour qu'Excell te demande ca, c'est que tu ferme un classeur !!! sinon dans ce que tu montre rien ne permet d'avoir cette demande, alors réfléchi bien encore une fois et MONTRE OU TU FERME UN CLASSEUR.
A+
medeuy
Messages postés
44
Date d'inscription
mardi 6 février 2007
Statut
Membre
Dernière intervention
28 décembre 2009
10 juin 2008 à 08:22
10 juin 2008 à 08:22
VOICI CE QUI POURRAIT TINTERESSAIT ALORS!!!!!!!
On Error Resume Next
Set NewClasseur = Workbooks.Add 'Création du classeur contenant les différentes requetes de N2
With NewClasseur
.Title = "Requetes Niveau 2"
.Subject = "Query N2"
.SaveAs Filename:=File_Out_N2
End With
If Err.Number = 1004 Then
' Renseigne l'utilisateur. Puis efface l'objet Err.
Dim Msg1 As Variant
Msg1 = "Le fichier : " & File_Out_N2 & " est déjà ouvert " & Chr(13) & _
" Il va être fermé ! "
MsgBox Msg1, , " MESSAGE D'ERREUR "
Err.Clear ' Efface les champs d'objet Err
End If
Workbooks(File_Out_N2 & ".xls").Close SaveChanges:=False 'ferme le fichier xls déjà ouvert
'Fin traitement d'erreur
Application.ScreenUpdating = False 'désactive la mise à jour de l'écran
ET LORSQUE JE METS NON PAR EXEMPLE DANS LA FENETRE WINDOWS IL UTILE CETTE PARTIE DE CODE
'**************************
' Ouverture File txt
'**************************
FICHIER = Chemin_Files & "\" & NomSheet & ".txt" 'Definie le chemin et le fichier à ouvrir sur le serveur
On Error Resume Next
Workbooks.OpenText Filename:=FICHIER, Origin:=xlMSDOS, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False _
, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), _
Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1)), _
TrailingMinusNumbers:=True
'Traitement de l'erreur en cas d'absence de fichier
If Err.Number = 1004 Then
' Renseigne l'utilisateur. Puis efface l'objet Err.
Dim Msg2 As Variant
Msg2 = "Erreur lors de l'ouverture du fichier : " & Chr(13) & _
FICHIER & Chr(13) & _
" Ce fichier n'existe pas ! " & Chr(13) & _
" La feuille Excel : " & Nom_Adr_Query_N2(i) & " ne contiendra pas de données. "
MsgBox Msg2, , " MESSAGE D'ERREUR "
On Error Resume Next
Set NewClasseur = Workbooks.Add 'Création du classeur contenant les différentes requetes de N2
With NewClasseur
.Title = "Requetes Niveau 2"
.Subject = "Query N2"
.SaveAs Filename:=File_Out_N2
End With
If Err.Number = 1004 Then
' Renseigne l'utilisateur. Puis efface l'objet Err.
Dim Msg1 As Variant
Msg1 = "Le fichier : " & File_Out_N2 & " est déjà ouvert " & Chr(13) & _
" Il va être fermé ! "
MsgBox Msg1, , " MESSAGE D'ERREUR "
Err.Clear ' Efface les champs d'objet Err
End If
Workbooks(File_Out_N2 & ".xls").Close SaveChanges:=False 'ferme le fichier xls déjà ouvert
'Fin traitement d'erreur
Application.ScreenUpdating = False 'désactive la mise à jour de l'écran
ET LORSQUE JE METS NON PAR EXEMPLE DANS LA FENETRE WINDOWS IL UTILE CETTE PARTIE DE CODE
'**************************
' Ouverture File txt
'**************************
FICHIER = Chemin_Files & "\" & NomSheet & ".txt" 'Definie le chemin et le fichier à ouvrir sur le serveur
On Error Resume Next
Workbooks.OpenText Filename:=FICHIER, Origin:=xlMSDOS, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False _
, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), _
Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1)), _
TrailingMinusNumbers:=True
'Traitement de l'erreur en cas d'absence de fichier
If Err.Number = 1004 Then
' Renseigne l'utilisateur. Puis efface l'objet Err.
Dim Msg2 As Variant
Msg2 = "Erreur lors de l'ouverture du fichier : " & Chr(13) & _
FICHIER & Chr(13) & _
" Ce fichier n'existe pas ! " & Chr(13) & _
" La feuille Excel : " & Nom_Adr_Query_N2(i) & " ne contiendra pas de données. "
MsgBox Msg2, , " MESSAGE D'ERREUR "
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
10 juin 2008 à 10:25
10 juin 2008 à 10:25
quand ont a un problème avec une macro ont met JAMAIS On Error Resume Next , sinon ou veut-tu voir où sont situées les erreurs.
Une macro bien faite n'a pas besoin de ca. Sauf cas exceptionnel.
Tu met cette ligne en Rem et tu lance la macro... comme ca tu verras déjà où ca plante
Une macro bien faite n'a pas besoin de ca. Sauf cas exceptionnel.
Tu met cette ligne en Rem et tu lance la macro... comme ca tu verras déjà où ca plante
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
10 juin 2008 à 11:09
10 juin 2008 à 11:09
ta macro debuguée avec les erreurs en commentaire..
et comme tu peu le constater, elle fonctionne sans On Erreur !!
A+
Public Chemin As String 'Charge le fichier résultant des requetes de niveau2 Public Function Charge_Fichier_N2() Dim i As Integer Dim NewClasseur As Variant Dim NewSheet As Variant Nb_Query_N2 = 1 'Pour mon test Chemin = ThisWorkbook.Path & "\" 'ou mettre le nom du répertoir + \ 'ca aussi c'est à neutraliser pour le debug, pour permettre de suivre au pas à pas. Application.ScreenUpdating = False 'Désactive la mise à jour de l'écran Set NewClasseur = Workbooks.Add 'Création du classeur contenant les différentes requetes de N2 With NewClasseur 'définit le titre de la page Web .Title = "Requetes Niveau 2" 'utilisé uniquement pour les Macintosh .Subject = "Query N2" 'Manque le répertoir où sauver .SaveAs Filename:=Chemin & "Requetes Niveau 2.xls" End With For i = 1 To Nb_Query_N2 File_txt = "QueryN2_File" & i Set NewSheet = Worksheets.Add ' Création de la feuille pour chaque requete NewSheet.Name = File_txt 'Nomage de la feuille du nom de la requete Zadig 'LE PROBLEME COMMENCE ICI JE PENSE 'OUI,FAUT AJOUTER L'EXTENSION & ".xls" Workbooks("QueryN2_File" & i & ".xls").Activate Sheets("N2SDB").Select Range(Cells(1, 1), Cells(300, 100)).Select Selection.Copy Workbooks("Requetes Niveau 2.xls").Sheets("QueryN2_File" & i).Activate Cells(1, 1).Select ActiveSheet.Paste 'ICI AUSSI ERREUR Workbooks("QueryN2_File" & i & ".xls").Activate Next i End Function
et comme tu peu le constater, elle fonctionne sans On Erreur !!
A+
medeuy
Messages postés
44
Date d'inscription
mardi 6 février 2007
Statut
Membre
Dernière intervention
28 décembre 2009
10 juin 2008 à 11:44
10 juin 2008 à 11:44
Je vais t'expliquer:
Pour cette partie de code que je t'ai envoyé la derniere fois sayé c ok sa marche (MERCI!), là en fait c'est le tout début.
Comme je t'ai expliqué, quand tu ouvres le lanceur excel il y a ce formulaire avec le choix des niveaux ou je suis censé cocher le niveau dont j'ai besoin... Lorsque je mets lancer il me demande si je veux enregistrer sur le fichier existant parce que j'ai choisi que le resultat de chaque requête aura un nom commun.
Jusque la j'espere que tu me suis
Le probleme est que lorsque je clique sur oui ca marche correctement mais meme lorsque je clique sur non ou annuler ça me lance la requête peut etre il n'y a pas le resultat final mais je voudrais que ça s'arrete quand je clique sur ANNULER au moins pour le bouton NON je verai après.
J'espere que tas compris sinon laisse tomber jvois pas comment texpliqué !!
Merci a+
Pour cette partie de code que je t'ai envoyé la derniere fois sayé c ok sa marche (MERCI!), là en fait c'est le tout début.
Comme je t'ai expliqué, quand tu ouvres le lanceur excel il y a ce formulaire avec le choix des niveaux ou je suis censé cocher le niveau dont j'ai besoin... Lorsque je mets lancer il me demande si je veux enregistrer sur le fichier existant parce que j'ai choisi que le resultat de chaque requête aura un nom commun.
Jusque la j'espere que tu me suis
Set NewClasseur = Workbooks.Add 'Création du classeur contenant les différentes requetes de N2 With NewClasseur .Title = "Requetes Niveau 2" .Subject = "Query N2" .SaveAs Filename:=File_Out_N2
Le probleme est que lorsque je clique sur oui ca marche correctement mais meme lorsque je clique sur non ou annuler ça me lance la requête peut etre il n'y a pas le resultat final mais je voudrais que ça s'arrete quand je clique sur ANNULER au moins pour le bouton NON je verai après.
J'espere que tas compris sinon laisse tomber jvois pas comment texpliqué !!
Merci a+
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
10 juin 2008 à 12:54
10 juin 2008 à 12:54
met le curseur sur la ligne..
.SaveAs Filename:=File_Out_N2
ensuite tu tape F9 (la ligne va être surlignée en brun) et tu lance la macro...
la macro va s'arrété sur cette ligne.
Ensuite tu promène la souris sur File_Out_N2
et tu dit ce que tu lit.
Si pas de bulle, tu ouvre la fenêtre exécution (Afficher >> Exécution) et tu tape..
Print File_Out_N2 >> Enter
Et ont va pas laisser tomber, c'est pas ma nature :D
EDIT: Tu a enlever le ON Error goto ou mis les On Error Goto 0 où je les ai mis. C'est impératif sinon ca ira pas
EDIT2: essaye en mettant AVANT la ligne..
Set NewClasseur
de mettre Application.DisplayAlert = False
Remettre après à true.
.SaveAs Filename:=File_Out_N2
ensuite tu tape F9 (la ligne va être surlignée en brun) et tu lance la macro...
la macro va s'arrété sur cette ligne.
Ensuite tu promène la souris sur File_Out_N2
et tu dit ce que tu lit.
Si pas de bulle, tu ouvre la fenêtre exécution (Afficher >> Exécution) et tu tape..
Print File_Out_N2 >> Enter
Et ont va pas laisser tomber, c'est pas ma nature :D
EDIT: Tu a enlever le ON Error goto ou mis les On Error Goto 0 où je les ai mis. C'est impératif sinon ca ira pas
EDIT2: essaye en mettant AVANT la ligne..
Set NewClasseur
de mettre Application.DisplayAlert = False
Remettre après à true.
medeuy
Messages postés
44
Date d'inscription
mardi 6 février 2007
Statut
Membre
Dernière intervention
28 décembre 2009
10 juin 2008 à 15:34
10 juin 2008 à 15:34
Copain?
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
10 juin 2008 à 15:39
10 juin 2008 à 15:39
Laisse tomber, j'ai mis ce poste en résolu, continue dans l'autre ou ouvre un 3èm
30 mai 2008 à 10:47
30 mai 2008 à 11:03
30 mai 2008 à 11:08
30 mai 2008 à 11:19
30 mai 2008 à 11:26
Et sa marche pour le premier vu que le i est à 1 il va piocher dans le fichier ini le nom qui correspond Query_Files(i c'est à dire 1)