jm'excuse jm'ai trompé faut inverser la question

D

dIDIER 2

Guest
rebonjour forum

Dans le fil
http://www.excel-downloads.com/html/French/forum/messages/1_17553_17553.htm

"recherche classeur xl déséspérément", la question a était trés mal posé (voir a l'opposé)excusé moi mais je travail de mémoire et ma mémoire n'est plus se qu'elle était.(on a pas tous les jours 20 piges)

donc voici mon probl :
Quand excel affiche la boite de dialogue "ce fichier existe déja voulez vous le remplacer, si l'on répond NON la macro bute et bogue sur......................... (sur une macro dans ce genre (de mémoire))

ChDir g:\mes documents\heures historique
ActiveWorkbook.SaveAs Filename:=Fichier
ActiveWorkbook.Close savechanges:=False

Ma déduction est que le code ne comprend plus rien puisque j'ai répondu non a la question du remplacement et qu'avec ce code je lui dit d'enregistrer le classeur

Comment faire pour interpréter la réponse de l'utilisateur qui répond NON a la boite de dialogue d'excel sur la sauvegarde, afin que la partie de la macro cité si dessus soit sautée (pour ne pas généré d'erreur)

J’espere avoir été claire dans mon méli mélo

Cordialement
Didier
 
@

@+Thierry

Guest
Salut Didier et le Forum

Je viens de revoir le fil précédent (tu aurais pu y rester) Mais j'ai l'impression que tu n'as pas regardé le fichier que je t'ai proposé. Même si tu penses être à l'opposé comme tu dis c'est exactement le même principe.

Si tu as le message standard d'Excel "Ce fichier existe déjà/// blah blah blah" c'est que tu n'as pas fait de contrôle par macro sur l'existence du fichier, mais c'est trop tard ! Ta macro va se poursuivre et c'est la cata, enfin le bug. Tu ne peux plus gérer ta réponse Non à ce message standard dans ta macro.

Pour avoir une chance encore de faire une macro conditionnelle à ce stade (quand ce message standard s'affiche) il faudrait connaitre le numéro de l'erreur, mais comme en fait ce n'est pas une vraie erreur puisque si tu répond oui tout va bien se passer... Je ne sais pas vraiment...

De plus si tu poses ta question sans avoir le code devant toi mais juste de mémoire, il n'est pas possible de faire des tests pour nous afin de se remettre dans le même contexte que toi.

Post toute ta macro et peut-être il y aura un moyen de voir ou d'entrevoir une solution.

Bonne Soirée
@+Thierry
 
D

dIDIER 2

Guest
salut thierry
suite a un gros pépin d'ordi je ne peux revenir sur le forum que maintenant.
J'ai achetez entre temps le bouquin "Excel 2002 et VBA : Le Guide du développeur" vraiment super,mais je n'ai pas encore tout lu (1081 pages).

revenons a nos mouton voici donc la macro presque complete puisqu'elle fait
appel aussi a une autre macro.

Sub incrementation()

Windows("Classeur1").Activate
Dim Semaine As Integer, Pvt As Integer, Heurecomp As Integer, Disque As Variant, Dossier As Variant
Disque = sheets("feuil1").Range("A51").Value
Dossier = sheets("feuil1").Range("B51").Value
création = Disque & ":\" & "Mes documents\" & Dossier
Heurecomp = sheets("feuil1").Range("E8").Value
Semaine = sheets("feuil1").Range("K21").Value
Pvt = sheets("feuil1").Range("J5").Value
Cells.Select
Application.CutCopyMode = False
Selection.Locked = True
Selection.FormulaHidden = True
Range("H1").Select
Selection.Locked = False
Selection.FormulaHidden = False
Range("A18").Select
Selection.Locked = False
Selection.FormulaHidden = False
Range("F18").Select
Selection.Locked = False
Selection.FormulaHidden = False
Range("B51").Select
Selection.Locked = False
Selection.FormulaHidden = False
Range("A51").Select
Selection.Locked = False
Selection.FormulaHidden = False

Call Protection


ChDir création
a = "N° semaine " & Semaine & " Pvt " & Pvt & "- heure comp " & Heurecomp

‘C’est a ce niveau juste en dessous que cela bug thierry

ActiveWorkbook.SaveAs FileName:=a, FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False


b = a & ".xls"

Workbooks(b).Close (False)


End Sub

Voila, j'aimerais ne pas trop y toucher car je me repere bien dans ce code.

cordialement
Didier
 
@

@+Thierry

Guest
Bonsoir Didier

Vraiment rapidos car je suis assez pris ce soir.

A première vu c'est à cause de l'initialisation de "b" qui se produit trop tard...

D'ailleurs au point où tu en es de concaténation pour "a" fait tout en "a"...
a = "N° semaine " & Semaine & " Pvt " & Pvt & "- heure comp " & Heurecomp & ".xls"

Si le problème persiste fais un truc dans ce style (en respectant ta macro...mais bon on pourrait alléger et déclarer TOUTES les variables) :

ActiveWorkbook.SaveAs Filename:=Creation & "\" & a & ".xls"
ActiveWorkbook.Close


NB sous réserve que "Semaine","Pvt" et "Heurecomp" ne contiennent pas de caractère interdit...

(Création à éviter => Creation c'est mieux)

Bon Courage et bonne lecture
@+Thierry
 
D

dIDIER 2

Guest
Merci Thierry
Je vais testé ta soluce dés aujourd'hui
je te tiens au courant dés ce soir.
merci pour le conseil.

Je pensais que la solution était plus basé sur un test d'erreur,qui permettait de sauter la ligne qui génére le bug, du style si erreur n° goto ferme classeur

cordialement
Didier
 
D

dIDIER 2

Guest
Me revoila,
Négatif l'erreure continu de ce creer
quand l'on répond NON a la quezstion :ce classeur existe déja voulez vous l'enregistrer ? Mais si l'on répond oui tout roule
je crois que Le probleme vient que la macro est en cour d'execution pour enregistrer le prog.
N'y a t il pas un moyen de se servir de la réponse a la question pour sauter la ligne qui bug, ou de détécter le bug et de sauter la ligne qui nous agace.

cordialement
 

Statistiques des forums

Discussions
314 645
Messages
2 111 536
Membres
111 184
dernier inscrit
amiko