Comment?

M

Michel

Guest
Comment faire pour enregistrer un fichier (ça je sais faire) et s'il existe déjà, inserer une feuille au classeur?
Et merci thierry pour ta réponse, IMPEC
 
T

Thierry

Guest
Bonsoir Michel,

C'est bien de me dire merci pour une réponse "impec" mais je ne sais pas de quoi il s'agit (lol)... C'était sur quel sujet ? .... Quoique... si c'est un sujet comme tu as détaillé encore dans ce poste, je ne serai pas plus avancé...

Je ne sais pas pour vous, mais plus j'essaie de suivre des sujets pour tenter d'y trouver des réponses, qui parfois nécessitent du temps, plus le sujet est clairement détaillé plus c'est "moins prise de tête" à suivre...

Tu vois Michel, le sujet, plutot qu'à chaque fois "comment?" je mettrai par exemple ici :

"Insertion d'une feuille sur classeur fermé en VBA"

Pour te répondre, il y a moyen de faire des tests si le classeur est déjà ouvert et ensuite si il existe déjà comme suit : (Macro de Frédérick Sigonneau, que j'arrange pour ton cas)

Sub TestOpen()
Dim Michel As String
Michel = "c:\my documents\my excel tests\Letest.xls"
On Error Resume Next
Workbooks("LeTest.xls").Activate
Call MichelInsert
If Err <> 0 Then
Workbooks.Open Filename:=Michel
Call MichelInsert
If Err <> 0 Then
Call MichelCreate
End If
End If
End Sub

"MichelCreate" étant la macro d'enregistrement de ton fichier que tu sais faire....

Par contre si c'est MichelInsert qui est lancée, et bien la tu prévoit l'insertion de ta feuille en VBA (en enregistrant ta macro....tu auras le code)

Mais le "HIC" c'est le nom de ta feuille, qu'il faut tester.... et là je n'ai pas Excel sous la main pour trouver comment écrire ce test... Donc travaille déjà avec ce code et si le nom de la feuille pose problème tiens nous au courrant.

Bon Samedi soir
@+Thierry
 
S

STéphane

Guest
existence feuille et fichier

bonjour


voilàune fonction que j'ai concoctée il y a longtemps et que j'ai déjà dû poster ici

Function ObjetDonnePresent_ounon(itemName As String, Among As Object) As Boolean
Dim Item As Object
For Each Item In Among
ObjetDonnePresent_ounon = (itemName = Item.Name)
If ObjetDonnePresent_ounon Then Exit For 'exit early if found
Next Item
End Function

on peut l'utiliser comme suit :
MsgBox ObjetDonnePresent_ounon("Feuil1", ActiveWorkbook.Worksheets)
ou
MsgBox ObjetDonnePresent_ounon("Feuil1", sheets)


pour tester l'existence du fichier sur un disque, tu peux faire par exemple :
msgbox dir("chemin.xls")<>""


il y a bien sûr d'autres méthodes pour ces 2 problèmes

cf <http://xlbysteph.free.fr/aideinformatique/existence.htm>
attention cette page n'a pas été corrigée depuis un baille


bye
stephane
 

Discussions similaires

Statistiques des forums

Discussions
312 198
Messages
2 086 132
Membres
103 127
dernier inscrit
willwebdesign