Visual Basic 6 :L'objet s'est déconnecté de ses clients windows 10 excel 2016

Bonjour,

j’essaie d’exporter les feuilles « Bulletin » générées par une liste déroulante en I1 liée à la feuille « ELEVES » mais j’obtiens systématiquement le même message d’erreur.

Voici lesSub Image2_Cliquer()

Dim Liste As String, A As Range
With Sheets(« Bulletin »)
Dim NomDossier As String
Dim CheminDossier As String
Liste = .Range(« I1 »).Validation.Formula1
Liste = Right(Liste, Len(Liste) - 1)
For Each A In Range(Liste)
.[I1] = A.Value

On Error GoTo 1

'Nom de dossier
NomDossier = « Bulletin » & Range(« C1 ») & " _ " & Range(« G1 »)
CheminDossier = « D:\Bulletin\BULLETIN 1 » & NomDossier & «  »

If NomDossier = «  » Then Exit Sub

'Enregistrement au format PDF

Sheets(« Bulletin »).ExportAsFixedFormat Type:=xlTypePDF, Filename:=CheminDossier & « Bulletin » & NomDossier & « .pdf », quality:= _
xlQualityStandard, includedocproperties:=True, ignoreprintareas:=False, from:=1, to:=1, openafterpublish:=False
1
Next A
End With
End Sub

Sub Image3_Cliquer()

Dim Liste As String, A As Range
With Sheets(« Bulletin »)
Liste = .Range(« I1 »).Validation.Formula1
Liste = Right(Liste, Len(Liste) - 1)

For Each A In Range(Liste)
.[I1] = A.Value
'.PrintPreview
nom = « Bulletin » & Range(« C1 ») & " _ " & Range(« G1 »)
chemin = « D:\bulletin\BULLETIN 1 » & nom & «  »

Sheets(« Bulletin »).ExportAsFixedFormat Type:=xlTypePDF, Filename:=chemin & nom & « .pdf », _
quality:=xlQualityStandard, includedocproperties:=True, ignoreprintareas:=False, openafterpublish:=False

Next A
End With
End Sub

Quelqu’un pourrait-il m’aider?
Merci d’avance

Sur ton autre fil je te ai apporté une réponse
L as tu regarde et testé ?

Comme je te l’ai indiqué dans ton autre fil cette donnée n’est pas bonne :

chemin = « D:\bulletin\BULLETIN 1 » & nom & « »

Le chemin doit comporter strictement la suite des répertoires jusqu’au répertoire d’enregistrement et se terminer par l’antishlas soit barre oblique à gauche

Dans cette variable tu mets le chemin D:\bulletin\BULLETIN 1 mais après le nom d’enregistrement ce n’est pas bon (le nom est inclus dans les lignes de code du fichier d’export pdf)
La variable chemin ne doit avoir que le chemin du lecteur jusqu’au répertoire d’enregistrement suivi de l’antishlas ainsi :

chemin = « D:\bulletin\BULLETIN 1\»

Rien d’autre

C’est dans l’instruction export que le nom est rajouté :

Filename:=chemin & nom & « .pdf

Réessaies comme ceci

For Each A In Range(Liste)
.[I1] = A.Value
'.PrintPreview
nom = « Bulletin » & Range(« C1 ») & " _ " & Range(« G1 »)
chemin = « D:\bulletin\BULLETIN 1\» (antishlas à la fin)

Sheets(« Bulletin »).ExportAsFixedFormat Type:=xlTypePDF, Filename:=chemin & nom & « .pdf », _
quality:=xlQualityStandard, includedocproperties:=True, ignoreprintareas:=False, openafterpublish:=False

Next A
End With
End Sub

Donnes moi des nouvelles

oui FFO , j’ai bien mis antishlas à la fin mais quand je colle le code sur le forum, il disparaît.
et j’ai testé ta dernière solution mais rien n’y change… ;o/

J’abandonne pour aujourd’hui, merci pour ton aide

Attention si tu mets la variable nom avec l’antishlas en fin ici et aussi après BULLETIN 1 :

chemin = « D:\bulletin\BULLETIN 1\» & nom & «\»

il ne faut pas la maintenir dans les lignes de code qui suivent pour l’export en pdf or il est à nouveau présent ce n’est pas bon :

Sheets(« Bulletin »).ExportAsFixedFormat Type:=xlTypePDF, Filename:=chemin & nom & « .pdf », _
quality:=xlQualityStandard, includedocproperties:=True, ignoreprintareas:=False, openafterpublish:=False

ou tu la met dans la variable chemin ou dans le Filename de l’export mais pas les 2

Il faut choisir

dans le chemin il faut écrire comme ceci :
For Each A In Range(Liste)
.[I1] = A.Value
'.PrintPreview
nom = « Bulletin » & Range(« C1 ») & " _ " & Range(« G1 »)
chemin = « D:\bulletin\BULLETIN 1\» & nom & «\»

Sheets(« Bulletin »).ExportAsFixedFormat Type:=xlTypePDF, Filename:=chemin & «.pdf », _
quality:=xlQualityStandard, includedocproperties:=True, ignoreprintareas:=False, openafterpublish:=False

Next A

Dans le Filename il faut écrire comme ceci :

For Each A In Range(Liste)
.[I1] = A.Value
'.PrintPreview
nom = « Bulletin » & Range(« C1 ») & " _ " & Range(« G1 »)
chemin = « D:\bulletin\BULLETIN 1\»

Sheets(« Bulletin »).ExportAsFixedFormat Type:=xlTypePDF, Filename:=chemin & nom & «.pdf », _
quality:=xlQualityStandard, includedocproperties:=True, ignoreprintareas:=False, openafterpublish:=False

Next A

Peut être du mieux

Petite question dans le répertoire d’enregistrement as tu les droits d’écriture ?

C’est une autre piste

Regardes tout celà

il me vient encore une idée

J’ai beaucoup œuvrer dans le cadre de ma vie professionnelle à la réalisation de ce genre d’exercice pour automatiser nos tâches
Or j’ai souvent été confronté lorsque je devais manipuler des fichiers (ouvrir enregistrer etc.…) à des difficultés liées aux arborescences avec des noms de dossier composé de plusieurs mots dont ceux-ci était séparé par un espace
C’est le cas du tien « BULLETIN 1 » car source de dysfonctionnement dans ces automatisations
Il faut éviter cette présentation et en lieu et place de l’espace mettre un tiret bas par exemple
comme ceci :

BULLETIN_1

Je ne dis pas que là est la source de tes ennuis mais c’est à essayer

Peut être du mieux

Petite coquille ici :

dans le chemin il faut écrire comme ceci :
For Each A In Range(Liste)
.[I1] = A.Value
'.PrintPreview
nom = « Bulletin » & Range(« C1 ») & " _ " & Range(« G1 »)
chemin = « D:\bulletin\BULLETIN 1\» & nom & «\»

il ne faut l’antishlas en fin donc mettre ceci :

dans le chemin il faut écrire comme ceci :
For Each A In Range(Liste)
.[I1] = A.Value
'.PrintPreview
nom = « Bulletin » & Range(« C1 ») & " _ " & Range(« G1 »)
chemin = « D:\bulletin\BULLETIN 1\» & nom

désolé

J’ai modifié mais rien n’y fait …
CARNET DE COTES 1 démo.xlsm (1,5 Mo)

le répertoire d’enregistrement est une clef usb

un peu d’humour , je deviens folle

Re,
Lis tes messages de l’autre post
CARNET DE COTES 1 démo (1).xlsm (1,5 Mo)

Re,
Et si ton dossierr se nomme BULLETIN_1 Renomme comme il le faut
Mon exemple fonctionne avec le nom du Dossier « Bulletin 1 »

Tu es superbe sur la photo !!!
J’en redemande !!!

J’ai récupéré ton fichier
J’ai juste changé la lettre du lecteur dans la variable chemin au lieu de « D » j’ai mis « O »

comme ceci :

chemin = « O:\bulletin\BULLETIN_1 » & nom

Après exécution le résultat est sans appel :

image

Moi j’essairais basique
en local sur ton disque sous la racine C :

chemin = « C:\bulletin\BULLETIN_1 » & nom

créé 2 répertoires l’un dans l’autre sous C bulletin puis dans bulletin BULLETIN

Et fais essais en modifiant ta variable chemin

Donnes moi le résultat

image

1 J'aime

Re,
Voire même comme ceci pour éviter de faire défiler les feuille sans nom attribué
CARNET DE COTES 1 démo (1).xlsm (1,5 Mo)

Je pense à une question toute bête :
Ta clé as elle suffisamment d’espace pour accueillir ces fichiers pdf ?

1 J'aime

Bonjour FFO

Désolée mais me suis choppé non pas le covid mais la grippe.
De là mon inactivité…
Génial… ça marche sur usb et sur le disque C

Mille mercis

Merci beaucoup pour le retour
Heureux que tout fonctionne pour toi
Doucement pour la reprise car même si c’est pas le covid la grippe cela secoue il faudrait pas que tu te retrouves comme sur la photo
Bon courage pour la suite