Imprimer sous excel grace a VB
banbiou
Messages postés
70
Date d'inscription
Statut
Membre
Dernière intervention
-
banbiou Messages postés 70 Date d'inscription Statut Membre Dernière intervention -
banbiou Messages postés 70 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un fichier excel où je place dans une dizaine de case un code (ex. E51A06900).
Ces "code" sont des dossiers que je vais rechercher dans une base de donnée http.
c'est du style http://serveur/ ... ... /E51A06900_A.HPGL
Il y a le "_A" car c'est le niveau de la modif du dossier.
ou il m'ouvre un fichier .tiff
Toutes ses cases sont des dossiers que je dois imprimer.
Je sais pas si vous me suivez sinon n'hesitez pas à me demander des renseignements.
Alors,
j'aimerai sous excel, grace a un programme (je pense ou macro), imprimer tous mes dossiers
lorsque je clic sur un bouton.
Est ce possible?...
Merci à tous.
j'ai un fichier excel où je place dans une dizaine de case un code (ex. E51A06900).
Ces "code" sont des dossiers que je vais rechercher dans une base de donnée http.
c'est du style http://serveur/ ... ... /E51A06900_A.HPGL
Il y a le "_A" car c'est le niveau de la modif du dossier.
ou il m'ouvre un fichier .tiff
Toutes ses cases sont des dossiers que je dois imprimer.
Je sais pas si vous me suivez sinon n'hesitez pas à me demander des renseignements.
Alors,
j'aimerai sous excel, grace a un programme (je pense ou macro), imprimer tous mes dossiers
lorsque je clic sur un bouton.
Est ce possible?...
Merci à tous.
A voir également:
- Imprimer sous excel grace a VB
- Liste déroulante excel - Guide
- Imprimer tableau excel sur une page - Guide
- Word et excel gratuit - Guide
- Comment imprimer en a5 - Guide
- Déplacer colonne excel - Guide
11 réponses
Bonjour,
Voilà une méthode pour fichier .PDF sous Excel. Je pense que cette méthode peut s'appliquer à tout type de fichier :
;o)
Voilà une méthode pour fichier .PDF sous Excel. Je pense que cette méthode peut s'appliquer à tout type de fichier :
Option Explicit Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _ (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _ (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String _ , ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long Sub ImprimerFichier() Dim NomFichier As String Dim x As Long x = FindWindow("XLMAIN", Application.Caption) NomFichier = "C:\dossier\rapport.pdf" ShellExecute x, "print", NomFichier, "", "", 1 End Sub
;o)
je connais pas VB en faite ou tres peu...
je connais le C++ un petit peu donc
autant dire que la programmation et moi c'est 2. lol
pourquoi tu va cherche des choses dans le "system32 user private"
je voudrais que tu m'explique un peu en faite si tu veux bien.
merci
je connais le C++ un petit peu donc
autant dire que la programmation et moi c'est 2. lol
pourquoi tu va cherche des choses dans le "system32 user private"
je voudrais que tu m'explique un peu en faite si tu veux bien.
merci
merci, dsl j'ai l'air ridicule.
mais jme dis qu'il faut bien commencer.
en tout cas merci, j'essaye ca demain et je te retien au courant si tveu bien.
mais jme dis qu'il faut bien commencer.
en tout cas merci, j'essaye ca demain et je te retien au courant si tveu bien.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ok, pas de blème ... et oui, il faut bien commencer un jour et puis, à quoi servirait CCM si tout le monde savait tout ? hien ?
;o)
;o)
salut,
alors j'ai essayer avec ton programme.. il fonctionne pr tous les dossier dans mon C:
mais je travail sur un reseau et les dossiers que je souhaite imprimer sont dans une base http\\...
alors ca ne marche pas lorsque je fais :
Sub ImprimerFichier()
Dim NomFichier As String
Dim x As Long
x = FindWindow("XLMAIN", Application.Caption)
NomFichier = "http://za21ncy/cgi-bin/iman/QtBdsweNFckqqC/E51B26100,_,spec.hpgl"
ShellExecute x, "print", NomFichier, "", "", 1
End Sub
En plus j'ai un mot de passe a valider avant de tomber sur la page en question....
Je sais c'est pas simple...
alors j'ai essayer avec ton programme.. il fonctionne pr tous les dossier dans mon C:
mais je travail sur un reseau et les dossiers que je souhaite imprimer sont dans une base http\\...
alors ca ne marche pas lorsque je fais :
Sub ImprimerFichier()
Dim NomFichier As String
Dim x As Long
x = FindWindow("XLMAIN", Application.Caption)
NomFichier = "http://za21ncy/cgi-bin/iman/QtBdsweNFckqqC/E51B26100,_,spec.hpgl"
ShellExecute x, "print", NomFichier, "", "", 1
End Sub
En plus j'ai un mot de passe a valider avant de tomber sur la page en question....
Je sais c'est pas simple...
Bonjour,
Je ne comprends pas ça : "je travail sur un reseau et les dossiers que je souhaite imprimer sont dans une base http\\..."
Tu es sur de l'intranet ou sur un serveur réseau. Les accès sont différents !!!
;o)
Je ne comprends pas ça : "je travail sur un reseau et les dossiers que je souhaite imprimer sont dans une base http\\..."
Tu es sur de l'intranet ou sur un serveur réseau. Les accès sont différents !!!
;o)
Je pense que c'est un serveur reseau car c'est une base de donnée propre à un logiciel (Teamcenter).
Sub ImprimerFichier()
Dim case1
Worksheets("Commande").Range("H9") = case1
ActiveWorkbook.FollowHyperlink Address:="http://za21ncy/cgi-bin/iman/wYAB4vA1FckqqC/case1_.HPGL", _
NewWindow:=True
End Sub
Ce pti programme me permet d'ouvrir l'adresse http MAIS ce que je voudrais c'est que ce que j'ai dans ma page Excel case H9 se retrouve dans mon adress http à l'emplacement case1...
vous voyez..?
Dim case1
Worksheets("Commande").Range("H9") = case1
ActiveWorkbook.FollowHyperlink Address:="http://za21ncy/cgi-bin/iman/wYAB4vA1FckqqC/case1_.HPGL", _
NewWindow:=True
End Sub
Ce pti programme me permet d'ouvrir l'adresse http MAIS ce que je voudrais c'est que ce que j'ai dans ma page Excel case H9 se retrouve dans mon adress http à l'emplacement case1...
vous voyez..?
il faut faire comme ça :
;o)
Sub ImprimerFichier() Dim case1 Dim adresseHTTP As String case1 = Worksheets("Commande").Range("H9") .Value 'case1 prend la valeur de H9 'configuration de l'adresse adresseHTTP = "http://za21ncy/cgi-bin/iman/wYAB4vA1FckqqC/" & case1 & "_.HPGL" ActiveWorkbook.FollowHyperlink Address:= adresseHTTP, NewWindow:=True End Sub
;o)
Merci, c'est vrai que ca marche tout de suite mieu... :)
Sinon, peut on mettre une adresse partiel..? du style :
"http://za21ncy/cgi-bin/iman/(ici mettre une formule que je connais pas)/" & case1 & " (ici mettre une formule que je connais pas).HPGL"
pour au final, il trouve le lien
"http://za21ncy/cgi-bin/iman/wYAB4vA1FckqqC/" & case1 & "_.HPGL"
tout seul, comme un grand..?
Sinon, peut on mettre une adresse partiel..? du style :
"http://za21ncy/cgi-bin/iman/(ici mettre une formule que je connais pas)/" & case1 & " (ici mettre une formule que je connais pas).HPGL"
pour au final, il trouve le lien
"http://za21ncy/cgi-bin/iman/wYAB4vA1FckqqC/" & case1 & "_.HPGL"
tout seul, comme un grand..?
merci polux31, en faite j'ai fait:
Dim a As Variant
Dim b As Variant
adresseHTTP = "http://za21ncy/cgi-bin/iman/" & a & "/" & case1 & "_" & b & ".hpgl"
mais cela m'ouvre : http://za21ncy/cgi-bin/iman//E51S8S288A_.hpgl
MAIS je voudrais qu'il ouvre: http://za21ncy/cgi-bin/iman/QxMh_DewFckqqC/E51S8S288A,A,.hpgl
Il y a tjs ces variantes "QxMh_DewFckqqC" et ",A," que je ne connais pas d'avance.
Est ce qu'il n'existe pas une fonction qui puisse m'ouvrir un lien avec des inconnu de ce type?
style : http://za21ncy/cgi-bin/iman/.../E51S8S288A... .hpgl
et qui m'ouvre: http://za21ncy/cgi-bin/iman/QxMh_DewFckqqC/E51S8S288A,A,.hpgl
Tu comprend ? c'est un peu chaud pour commencer à apprendre le VB.
Mais je suis content j'en sais plus que hier, et j'espere moins que demain...
Merci d'avance.
Dim a As Variant
Dim b As Variant
adresseHTTP = "http://za21ncy/cgi-bin/iman/" & a & "/" & case1 & "_" & b & ".hpgl"
mais cela m'ouvre : http://za21ncy/cgi-bin/iman//E51S8S288A_.hpgl
MAIS je voudrais qu'il ouvre: http://za21ncy/cgi-bin/iman/QxMh_DewFckqqC/E51S8S288A,A,.hpgl
Il y a tjs ces variantes "QxMh_DewFckqqC" et ",A," que je ne connais pas d'avance.
Est ce qu'il n'existe pas une fonction qui puisse m'ouvrir un lien avec des inconnu de ce type?
style : http://za21ncy/cgi-bin/iman/.../E51S8S288A... .hpgl
et qui m'ouvre: http://za21ncy/cgi-bin/iman/QxMh_DewFckqqC/E51S8S288A,A,.hpgl
Tu comprend ? c'est un peu chaud pour commencer à apprendre le VB.
Mais je suis content j'en sais plus que hier, et j'espere moins que demain...
Merci d'avance.
Bonjour,
C'est normal que tu obtiennes ce résultat : http://za21ncy/cgi-bin/iman//E51S8S288A_.hpgl
Les variables a et b ne sont pas initialisées.
Est ce qu'il n'existe pas une fonction qui puisse m'ouvrir un lien avec des inconnu de ce type?
Pour ouvrir un lien, il faut que celui ci soit complet. Je ne connais pas de fonctions qui permettent d'anticiper le chemin d'accès à un fichier. C'est comme si tu envoyais une lettre aux USA avec uniquement le prénom et le nom du destinataire ...
Peut être existe-t-il un moyen de récupérer les chaînes manquantes de ton adresse, avant de l'imprimer ?
Si ce n'est pas le cas, l'opération est impossible.
;o)
C'est normal que tu obtiennes ce résultat : http://za21ncy/cgi-bin/iman//E51S8S288A_.hpgl
Les variables a et b ne sont pas initialisées.
Est ce qu'il n'existe pas une fonction qui puisse m'ouvrir un lien avec des inconnu de ce type?
Pour ouvrir un lien, il faut que celui ci soit complet. Je ne connais pas de fonctions qui permettent d'anticiper le chemin d'accès à un fichier. C'est comme si tu envoyais une lettre aux USA avec uniquement le prénom et le nom du destinataire ...
Peut être existe-t-il un moyen de récupérer les chaînes manquantes de ton adresse, avant de l'imprimer ?
Si ce n'est pas le cas, l'opération est impossible.
;o)
Je ne sais pas te répondre alors.
Si c'est une base de donnée, il doit y avoir un protocole pour y accèder, OLE DB, DAO ou ADO en règles générales mais qui peuvent être particulières pour certaines bases. Il doit falloir accèder aux données de la base par requête type SQL si la base de données est relationnelle.
Il faut te rapprocher de la doc technique (si elle existe) du logiciel Teamcenter.
Désolé, mais je n'ai jamais eu à traiter ce genre de problème.
Bon courage.
;o)
Si c'est une base de donnée, il doit y avoir un protocole pour y accèder, OLE DB, DAO ou ADO en règles générales mais qui peuvent être particulières pour certaines bases. Il doit falloir accèder aux données de la base par requête type SQL si la base de données est relationnelle.
Il faut te rapprocher de la doc technique (si elle existe) du logiciel Teamcenter.
Désolé, mais je n'ai jamais eu à traiter ce genre de problème.
Bon courage.
;o)