Accueil > Forum > > > > Message d'erreur impossible à désactier??? (VBA sur Word, Office 2003)
Message d'erreur impossible à désactier??? (VBA sur Word, Office 2003)
mardi 9 mai 2006 à 10:18:09 |
Message d'erreur impossible à désactier??? (VBA sur Word, Office 2003)

Polack77
|
En deux mots: j'ai une macro qui met en page des fichiers Word. Dans ces
fichiers se trouve des tableaux Excel que je dois (entre autre) mettre en
tableau Word. Problème il arrive parfois que j'ai des tableaux Excel avec
liaison mais pas le fichier Excel lié! Lorsque j'applique mon code un message
apparait ("C'ette objet est altérer ou n'est plus disponible") et il
me faut alors cliquer sur "OK" or je développe un robot (il ne faut
donc pas avoirs à faires quoi que ce soit pour que le code s'exécute). Si vous
avez une solution (que se soit pour tester si cest un objet Excel lié, empêcher
ce message dapparaître ou nimporte quoi dautre) faite le mois savoir sil
vous plaît. Jen ai mare cas fait 3 semaine que jai cette erreur (a vrais dire
jai plus ou moins léser tomber et je pris pour que quun réponde à ma question)
Pour reproduire ce problème : -> Ouvrir Word et Excel -> Mettre des données dans le tableau Excel et le
copier -> Faire un collage spécial sous Word pour coller le
fichier avec liaison ·
Edition ·
Collage spécial ·
Coller avec liaison ·
Feuille de calcul Microsoft Office Excel Object -> Fermer Excel Si vous tenter douvrir cette objet en code
ou avec linterface ce ù$¤£µ de message apparaît.
P.S. :
"On error resume next" et "Application.DisplayAlerts" ne
sont pas sufisant!
D'oh! Nuts! Mmmmm... DONUTS
|
|
mardi 9 mai 2006 à 16:02:56 |
Re : Message d'erreur impossible à désactier??? (VBA sur Word, Office 2003)

clementio
|
Je suis pas très doué en VBA (j'ai laissé tomber depuis longtemps) mais je pense que le plus simple serait de simuler un click pour fermer le message d'erreur.
Déjà il te faut utiliser les API. Déclare ça au début de ton code:
Private Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Ensuite à la suite de ton code qui fait apparaître le message, mets ça:
Dim lHwnd As Long
Sleep 1000
Doevents
lHwnd = FindWindow(vbNullString, "AAAA") 'AAA à remplacer par le titre de la fenêtre du message d'erreur
If lHwnd Then
SendKeys "{ENTER}"
End If
Et c'est tout...
Dis-moi si ça marche, Clm.
|
|
mardi 9 mai 2006 à 16:16:12 |
Re : Message d'erreur impossible à désactier??? (VBA sur Word, Office 2003)
|
mardi 9 mai 2006 à 17:36:45 |
Re : Message d'erreur impossible à désactier??? (VBA sur Word, Office 2003)

Polack77
|
Heeeee, j'ai fini ma journée à demain. J'ai commancer à regarder ta solution clementio je fini demain (je pense que ça dois être possible de faire comme tu dit). Je met le code qui me posse problème : Function CopyDonnéeExcel(ByVal RangeTravail As Range) As String Dim CptLigne As Long 'Copteur ligne Dim CptColone As Long 'Compteur Colone Dim PremLigne As Long 'Sauvgarde de la position de la "NomVariable" Dim PremColone As Long 'Sauvgarde de la position de la "NomVariable" Dim DerLigne As Long 'Sauvgarde de la position de la "NomVariable" Dim DerColone As Long 'Sauvgarde de la position de la "NomVariable" Dim ColoneVide As Boolean 'Flag colone vide Dim TemponPosition As String 'Saugarde de la postion de l'objet excel (pour remplacement) Dim CptElement As Integer Dim MyXl As Object ' Variable devant contenir la référence à Microsoft Excel. Do While CptElement < RangeTravail.InlineShapes.Count CptLigne = 0 CptColone = 0 PremLigne = 0 PremColone = 0 DerLigne = 0 DerColone = 0 TemponPosition = "" CptElement = CptElement + 1 On Error Resume Next 'Si une rerrur se produit continuer le code RangeTravail.InlineShapes(CptElement).OLEFormat.DoVerb VerbIndex:=wdOLEVerbHide 'ouvre excel avec la feille afficher C là que cas fait mal
DoEvents 'Ouvre excel DoEvents 'Ouvre la feuille If Err.Number = 0 Then 'Si aucune erreur ne s'est produite lors de l'ouverture de l'élément On Error GoTo 0 Set MyXl = GetObject(, "Excel.Application") 'Recu de l'adrs d'excel 'MyXl.Application.DisplayAlerts = False 'Excel ne remonte pas d'erreur
Se reposé c important
|
|
mercredi 10 mai 2006 à 09:50:05 |
Re : Message d'erreur impossible à désactier??? (VBA sur Word, Office 2003)

Polack77
|
Alors pour la solus de clementio, ca me marche pas. J'ai fait ca: On Error Resume Next 'Si une rerrur se produit continuer le code ****RangeTravail.InlineShapes(CptElement).OLEFormat.DoVerb VerbIndex:=wdOLEVerbHide 'ouvre excel avec la feille afficher '-------------------------------- Sleep 1000 DoEvents lHwnd = FindWindow(vbNullString, "Microsoft Office Word") 'AAA à remplacer par le titre de la fenêtre du message d'erreur If lHwnd Then SendKeys "{ENTER}" End If '--------------------------------------- DoEvents 'Ouvre excel DoEvents 'Ouvre la feuill Mon execution se stop à la ligne "****" et attend que je click sur "OK" pour continuer son exection soit passer à la ligne "sleep 1000" (ou alors il faut que je mette le sleep avant ma ligne ****, ça ne me parit pas être possible vue que le sleep stop simplement mon exection durant 1s???)
A votre avis passer un PC pare la fenêtre du 3éme est un
motif de licenciement?
D'oh! Nuts! Mmmmm... DONUTS
|
|
mercredi 10 mai 2006 à 09:57:28 |
Re : Message d'erreur impossible à désactier??? (VBA sur Word, Office 2003)
|
jeudi 11 mai 2006 à 11:37:09 |
Re : Message d'erreur impossible à désactier??? (VBA sur Word, Office 2003)
|
jeudi 11 mai 2006 à 12:56:50 |
Re : Message d'erreur impossible à désactier??? (VBA sur Word, Office 2003)

rvblog
|
Salut Polack77, salut clementio, salut NHenry, bon, Polack77, je vois que tu traines toujours ce calvaire derrière toi. Il va falloir sortir l'artillerie lourde ( rassures-toi, juste en VBA d'abord). Sutout, ne passe pas ton PC par la fenêtre, mais plutôt le patron qui oserait te licencier pour ça :)Je vais te faire, ici, une réponse que tu n'aurais pas appréciée si je te l'avais faite dès ton 1er post, mais qui passera mieux maintenant. Dans ton problème se cache un autre problème : ton code est brouillon. Ben oui, il faut bien te le dire. Ca se soigne, mais dans ton cas, avec l'artillerie lourde. Et il faut savoir aussi que cela ne va pas forcément résoudre ton problème initial. Ben oui, ça aussi, il faut le dire. On commence : - D'abord, ( il me semble que je t'en avais déjà parlé, dans un sujet avec Mortalino) nier une erreur ne la résoud pas ( On Error Resume Next = nier une erreur). Je sais bien que tu ne cherches pas à la nier, mais tu la nies quand même. - Ne mélange pas le bout de code qui te pose problème avec le code qui marche. Ca veut dire, fais une fonction séparée pour la ligne qui pose problème. Exemple ( pour reprendre tes mots) : Private Function ClaQueCasFaitMal(Byref MaRange As Excel.Range, _ Byval CptElementRecu As Integer) As Boolean On Error Goto ClaQueCasFaitMalErr 'pas d'argument nommé, il n'y en a qu'un MaRange .InlineShapes(CptElementRecu).OLEFormat.DoVerb wdOLEVerbHide 'rapport de succès ClaQueCasFaitMal=False Exit Function ClaQueCasFaitMalErr: MsgBox Err.Number & vbCrLf & Err.Description 'rapport d'échec ClaQueCasFaitMal=True End Function
Ensuite, appelles la fonction, exemple :
... CptElement = CptElement + 1 'si ça ne fait pas mal alors If Not ClaQueCasFaitMal() Then 'fais ce que tu veux Set MyXl = GetObject(, "Excel.Application") 'Recu de l'adrs d'excel End If ...
et dis-nous que cela donne (n° erreur et message, s'il y en a, et s'il n'y en a pas, ne t'inquiètes pas, dis-le, et on continue).
Je te fais faire cela, parce que dans ton cas, ça servira toujours pour plus tard, et parce que, pendant ce temps, je peux investiguer de mon côté (et puisque c'est ce que je vais commencer par faire, si tu le fais, tu trouveras peut-être avant moi [comme d'habitude])
à+
rvblogn Je veux ton bien... et je l'aurais... mais jamais avant la page 4
|
|
jeudi 11 mai 2006 à 13:34:43 |
Re : Message d'erreur impossible à désactier??? (VBA sur Word, Office 2003)

rvblog
|
bon, déjà, apparemment, erreur 16389, et pour l'instant, impossible d'empêcher l'affichage de la boite de message tant redoutée. mais on avance. à+
rvblogn Je veux ton bien... et je l'aurais... mais jamais avant la page 4
|
|
jeudi 11 mai 2006 à 13:41:35 |
Re : Message d'erreur impossible à désactier??? (VBA sur Word, Office 2003)
|
Cette discussion est classée dans : message, erreur, excel, office, word
Répondre à ce message
Sujets en rapport avec ce message
Message d'erreur impossible à désactier??? (VBA sur Word, Office 2003) [ par Polack77 ]
Bon j'ai un bug qui m'enerve. Je veut programmer un "robot" qui verifie tout les fichier Word contenu dans un dossier et y fait des traitements, tel q
Message d'erreur bizarre [ par Feas_Kaertes ]
Lors de l'enregistrement d'un fichier au format excel, Windows NT me met un message d'erreur : "Impossible d'ouvrir une feuille modulable", sans que e
VBA excel : message d'erreur apres fermeture classeur contenant macros [ par Yrdev ]
Salut a tous et a toutes !J'ai un petit probleme avec VBA sous Excel, j'essaie d'etre clair (!?!!) :1) un classeur excel Essai.xls contient des macros
Erreur avec une dll en utilisant une automation avec Excel [ par roda ]
J'ai créé une automation entre Access 97 et Excel 97.Sur la majorité des poste tout fonctionne sauf quelqu'uns. Je m'explique : Lorsque je lance mon a
Pb suppression ligne VB / EXCEL ! ( message erreur ) [ par sabou94 ]
Salut, mon probleme est que j'essaie de supprimer une ligne d'une feuille excel à partir d'une application visual basic. Lorsque je supprime la dernie
Acquitement d'un message d'impression word ou excel [ par auke29 ]
auke29J'ai réalisé un petit programme pour ma boite ,il permet d'imprimer des dossiers de lot.à base de documents Word ou excelil ouvre les différents
Message d'erreur sur une combobox [ par nanardino64 ]
Bonjour tout le monde,Après de longues vacances paisibles le retour cruel à la dure réalité et déjà les premiers problèmes!!! J'ai crée une combobox s
graphique excel [ par xman696214 ]
salut tt le mondeje veu créer un graphique à partir d'un tableau excel que j'ai déja rempli, mais le pb c que une fois que j'exécute le programme, un
Message d'erreur [ par sancho12345 ]
Bonsoir à vous, Pourriez-vous m’aider à résoudre un problème. Le voici : Le code ci dessous permet d’ouvrir un fichier Excel,si ce fichier est prés
VBA EXCEL [ par scromania ]
Bonjour, Je vous résume le problème,nous passons de 2000 Pro avec office 2003 sur du vista entreprise office 2007. Certain fichier excel possède des
Livres en rapport
|
Derniers Blogs
ASYNC/AWAIT: COMPRENDRE COMMENT CA MARCHEASYNC/AWAIT: COMPRENDRE COMMENT CA MARCHE par fathi
Tout le monde est unanime pour dire que la programmation multi-thread et asynchrone est en train de devenir un sujet incontournable. Beaucoup de choses sont arrivées avec le framework 4 pour le code parallèle (TPL, PLinq,.) et bientôt, on va avoir l...
Cliquez pour lire la suite de l'article par fathi PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS !PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS ! par Etienne Margraff
J'ai récemment eu un problème pour obtenir l'intelliTrace sur un site web dans IIS. Il n'y avait pas de message d'erreur, rien dans le journal d'évènement Windows, et après 3 appels à une voyante, 2 visites chez un marabou, j'ai failli me résign...
Cliquez pour lire la suite de l'article par Etienne Margraff OFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONSOFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONS par junarnoalg
De nombreuses entreprises font le choix de SharePoint Online, service fourni au travers de l'offre de Microsoft Office 365. S'il est vrai que ce choix apporte un grand nombre d'avantages; rapidité de mise en ½uvre, disponibilité, large couvertu...
Cliquez pour lire la suite de l'article par junarnoalg PRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGEPRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGE par richardc
http://www.c2idotnet.com/articles/presentation-des-api-rest-de-windows-azure-lister-les-comptes-de-storage
Désolé pour "toto", mais c2i existait avant blogs.developpeur.org et c'est mon site "officiel" ;-) ...
Cliquez pour lire la suite de l'article par richardc
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|