|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||||
|
Invité régulier
![]() Étudiant Inscription : juin 2011 Messages : 99 ![]() |
Bonjour,
Voilà mon petit soucis: A partir d'Access, je crée un fichier Excel avec ce code: Code :
Code :
|
||||
|
|
00
|
|
|
#2 | ||
![]() ![]() Maintenance données produits Inscription : décembre 2005 Messages : 3 939 ![]() |
Bonjour,
Voici un exemple Code :
Ligne 15 : il te faut mettre le code SQL de ta requête Ligne 38 : change le nom de la requête Excel A+ |
||
|
|
10
|
|
|
#3 | ||
|
Nouveau Membre du Club
![]() Chef de projet MOA Inscription : juillet 2011 Messages : 22 ![]() |
Bonjour,
Je te propose une solution alternative. 1 - Tout d'abord tu crées un fichier "Modèle.xls" qui contient ta macro nommée "Public Sub DO_IT" dans un module. 2 - Dans mon exemple, le modèle est placé dans le répertoire "P:\", le fichier nouveau fichier est également créé dans le répertoire "P:\". Dans Access le code devient donc : Code :
|
||
|
|
00
|
|
|
#4 | ||
|
Invité régulier
![]() Étudiant Inscription : juin 2011 Messages : 99 ![]() |
Merci pour vos réponses,
LedzeppII, voilà comment j'ai adapté ton code: Code :
Dans Access ça m'affiche: Erreur execution 1004, erreur général ODBC Tu sais pourquoi ? Dave92, ton code marcehe bien puisqu'il me crée un fichier excel avec ma requete. Par contre dans Access il m'affiche en erreur sur la ligne: Peut être l'extension .xlsm ne marche pas avec excel 2003? Je pense que vous pouvez p-t aussi m'aider sur une chose (je profite de votre compétence, je vous remercie d'ailleurs) Dans l'idéal (je ne sais pas si c'est possible) j'ai crée un formulaire avec un champ "Num Année". Une fois que l'utilisateur rentre le numero de l'année avec le format 00, j'aimerai en cliquant sur le bouton, creer le fichier excel avec comme nom: Query + le numéro de l'année que l'utilisateur a entré dans le formulaire. Tout ça en conservant ensuite la procédure de la macro que vous m'avez expliqué plus haut. Est possible en VBA? Merci pour votre aide |
||
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Chef de projet MOA Inscription : juillet 2011 Messages : 22 ![]() |
J'ai effectivement fait mon test avec office 2007. l'extenstion xlsm n'est pas compatible avec office 2003.
Dans mon code remplace les extentions xlsm par xls et ca devrait passer. |
|
|
00
|
|
|
#6 |
|
Invité régulier
![]() Étudiant Inscription : juin 2011 Messages : 99 ![]() |
Ca marche mais ça génère toujours des erreurs sur la même ligne :/
LedzeppII si jamais tu as la solution au message d'erreur qui s'affiche lorsque j'exécute ton code ça me sauverai je pense. (je suis en Access 2003) Merci |
|
|
00
|
|
|
#7 |
|
Nouveau Membre du Club
![]() Chef de projet MOA Inscription : juillet 2011 Messages : 22 ![]() |
tu as bien remplacé par ?
le nom de la macro dans le fichier modèle est bien "DO_IT" ? |
|
|
00
|
|
|
#8 |
![]() ![]() Maintenance données produits Inscription : décembre 2005 Messages : 3 939 ![]() |
Bonjour,
Apparemment ça vient de la requête, à cause des " dans les IIF. Essaie en remplaçant Code :
sSQL = "SELECT * FROM [R_QueryTableaupresent 1S] ORDER BY IIf([R_QueryTableaupresent 1S].[Expr1]=""MAN"",1,IIf([R_QueryTableaupresent 1S].[Expr1]=""TECH"",2,3)), IIf([R_QueryTableaupresent 1S].[Horaire1]=""M"",1,IIf([R_QueryTableaupresent 1S].[Horaire1]=""S"",2,3));" Code :
sSQL = "SELECT * FROM [R_QueryTableaupresent 1S] ORDER BY IIf([R_QueryTableaupresent 1S].[Expr1]='MAN',1,IIf([R_QueryTableaupresent 1S].[Expr1]='TECH',2,3)), IIf([R_QueryTableaupresent 1S].[Horaire1]='M',1,IIf([R_QueryTableaupresent 1S].[Horaire1]='S',2,3));" A+ |
|
|
00
|
|
|
#9 |
|
Invité régulier
![]() Étudiant Inscription : juin 2011 Messages : 99 ![]() |
Merci c'est parfait
J'ai même réussi à intégré mon problème de variable dans le titre de mon fichier excel Merci Will |
|
|
00
|
|
|
#10 | ||
|
Invité régulier
![]() Étudiant Inscription : juin 2011 Messages : 99 ![]() |
Petite question:
Est il possible de créer le Excel non pas avec une exportation de requête mais avec deux? La première se trouvant à la cellule B6 et l'autre à la cellule B24 par exemple? Comment dois je m'y prendre? Dans mon cas je voudrai donc rajouter la requête suivante Code :
|
||
|
|
00
|
|
|
#11 | |||
![]() ![]() Maintenance données produits Inscription : décembre 2005 Messages : 3 939 ![]() |
Citation:
Il suffit de répéter la séquence Code :
A+ |
|||
|
|
00
|
|
|
#12 |
|
Invité régulier
![]() Étudiant Inscription : juin 2011 Messages : 99 ![]() |
Je te remercie c'est parfait,
J'ai une autre petite question: J'ai un fichier Excel existant qui contient 2 feuilles. La première feuille contient une requête Access importée nommé "Tableau1" qui représente un tableau de valeur d'un semestre et la deuxième feuille contient une requête Access importée nommé "Tableau2" qui représente un tableau de valeur du semestre suivant.. J'aimerai en fait que lorsqu'on passe d'un semestre S(i-1) à un semestre S(i) on puisse figer les valeur du tableau S(i-1) et créer ensuite une 3eme feuille contenant le semestre S(i+1) La requête "Tableau1" contiendra tjrs les valeurs du 1er semestre de l'année et la requête "Tableau2" les valeurs du 2eme semestre de l'année. Exemple: Mon fichier contient à la base un onglet "S1 2012" et un onglet "S2 2012" Quand on passe de "S1 2012" au "S2 2012" (dans la réalité) j'aimerai figer les valeurs "S1 2012" et créer un 3ème onglet nommé "S1 2013" contenant la requête qui servait au préalable à l'onglet "S1 2012" Pour cela j'ai crée un formulaire avec un champ "Année" qui devra rentrer dans une variable pour pouvoir donner le nom de la feuille créée en fonction de l'année saisie. Je pense aussi qu'il faudra deux boutons: un qui permettra de créer l'onglet 1er Semestre avec la requete "Tableau1" et l'autre l'onglet 2eme semestre avec la requête "Tableau2". Par contre, ej ne m'y connais pas assez en VBA pour programmer la fixation des valeurs de S(i-1) et la création d'onglet à chaque clique de bouton contenant la requête appropriée et le nom de la feuille en fonction de l'année saisie dans le formulaire. J'espere avoir été assez clair. Si c'est pas le cas n'hésitez pas à me le dire. Merci de votre aide, Will |
|
|
00
|
|
|
#13 | ||
|
Invité régulier
![]() Étudiant Inscription : juin 2011 Messages : 99 ![]() |
J'ai essayé de cette manière mais j'ai un problème.
Quand je veux ajouter une feuille dont je sais qu'elle n'existe pas, il me dit qu'elle existe quand même alors qu'il devrait sortir de la boucle pour me la créer :s Code: Code :
|
||
|
|
00
|
|
|
#14 | ||
![]() ![]() Maintenance données produits Inscription : décembre 2005 Messages : 3 939 ![]() |
Bonjour,
J'ai fait quelques modifications dans ton code. Code :
A+ |
||
|
|
00
|
|
|
#15 |
|
Invité régulier
![]() Étudiant Inscription : juin 2011 Messages : 99 ![]() |
Merci ça marche niquel, tu me permets d'avancer dans mon projet c'est super.
Il y a une chose délicate a laquelle je n'ai pas pensé. Ma requête que j'exécute (celle qui apparaît dans le Word) doit également changer en fonction de l'année que l'utilisateur saisie. Pour cela je dois au préalable exécuter 7 requêtes ajout pour mettre à jour ma requête que je veux obtenir sur le excel. J'ai pour cela enregistrer une macro sur Access. Comment dois je l'incorporer dans le VBA de mon bouton click ? Ou alors, faut t-il exécuter mes requêtes Ajout en les écrivants directement ds le VBA? |
|
|
00
|
|
|
#16 | |
![]() ![]() Maintenance données produits Inscription : décembre 2005 Messages : 3 939 ![]() |
Citation:
pour une macro Access (par opposition à macro VBA). |
|
|
|
00
|
|
|
#17 | ||
|
Invité régulier
![]() Étudiant Inscription : juin 2011 Messages : 99 ![]() |
Merci !
Un petit bug intervient une fois que la feuille excel se crée avec le tableau de ma requete: tout marche bien sur le excel mais le Access plante :s Je pense que c'est un problème dû a la sauvegarde du Excel avec la nouvelle feuille. car parfois il me demande si je veux sauvegarder le excel et apres ça plante. Il y a un moyen de régler la sauvegarde pour ne pas avoir de bug une fois que la feuille est crée? Je te montre le code pour que tu vois ou j'en suis: Code :
|
||
|
|
00
|
|
|
#18 |
![]() ![]() Maintenance données produits Inscription : décembre 2005 Messages : 3 939 ![]() |
Il faudrait mettre en commentaire la ligne
pour savoir sur quelle ligne ça plante. |
|
|
00
|
|
|
#19 |
|
Invité régulier
![]() Étudiant Inscription : juin 2011 Messages : 99 ![]() |
Alors meme si je le met en commentaire ca ne m'affiche pas d'erreur.
Access plante sans laisser de message :s |
|
|
00
|
|
|
#20 |
|
Invité régulier
![]() Étudiant Inscription : juin 2011 Messages : 99 ![]() |
En faisant une croix au moment d'enregistrer il ma mis une erreur sur:
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com