VBA, Excel, Feuilles et Liens inter-classeurs... [Résolu]

ScSami 1490 Messages postés mercredi 5 février 2003Date d'inscription 3 décembre 2007 Dernière intervention - 30 mai 2005 à 08:40 - Dernière réponse : ScSami 1490 Messages postés mercredi 5 février 2003Date d'inscription 3 décembre 2007 Dernière intervention
- 2 juin 2005 à 04:20
Slut tous,



Savez-vous s'il est possible de récupérer le nom de la feuille par défaut d'un classeur sans l'ouvrir... et en VBA???



Ou alors, comment faire un lien inter-classeur sans fournir le nom de la feuille par défaut (y'en a qu'une en fait!) ???



Question subsidiaire, comment transformer, via le VBA, un cellule
standarde contenant une date en texte du style "Mars 2005" en vraie
date afin de la décrémenter???





Merci par avance
Afficher la suite 

8 réponses

Meilleure réponse
valtrase 936 Messages postés lundi 19 janvier 2004Date d'inscription 17 mars 2017 Dernière intervention - 30 mai 2005 à 12:09
3
Merci
Pour récupérer le nom de la feuiile sans ouvrir le classeur je ne pense pas que ce sois possible !!
Sinon pour faire un lien donnes le chemin complet de ton lien ex: ActiveCell.Formula = "=[Classeur1]Feuil1!$C$4"

Pour donner un format date utilises
With ActiveCell
'.NumberFormat = "dd-mm-yy" 'En Anglais par défaut
'.NumberFormatLocal = "jj-mm-aa" ' Ou en local
End With

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé

Merci valtrase 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

Meilleure réponse
valtrase 936 Messages postés lundi 19 janvier 2004Date d'inscription 17 mars 2017 Dernière intervention - 31 mai 2005 à 14:17
3
Merci
Re,
J'ai fais qq test avec les dates ça tourne VBA ne tiens pas compte de la case. Sinon utilises Cdate(Expression)
[A1] = CDate([A1])


Pour la récupération de données attention si ton classeur est fermé pas de mise à jour fais un test.....


Sinon rien ne t'empèche d'ouvrir ton classeur, de récupérer le nom de la feuille et de le refermer ensuite

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé

Merci valtrase 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

Meilleure réponse
valtrase 936 Messages postés lundi 19 janvier 2004Date d'inscription 17 mars 2017 Dernière intervention - 1 juin 2005 à 11:16
3
Merci
Bizare, Bizare,
D'abord je suis tombé sur ce code a mon grand étonnement il te permet de lire le nom de tes feuilles grace à une connexion ADO sans ouvrir le classeur......
A savoir que je n'ai pas testé ces codes .....

Sub ListExcelTables()
'd'après Ramesh, microsoft.public.data.ado
Dim cn
Dim cat
Dim xlSheet As Variant
Dim Fichier$

' Initialisation
Set cn = CreateObject("ADODB.Connection")
Set cat = CreateObject("ADOX.Catalog")
Fichier = "D:\06OfficeVBA\01Progs\ClasseurDates\CompilDatesv3.xls"

' Open the Connection
cn.Open _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Fichier & ";Extended Properties=Excel 8.0;"

' Open the catalog
Set cat.ActiveConnection = cn

For Each xlSheet In cat.Tables
MsgBox xlSheet.Name
Next

' Nettoyage Set cn Nothing: Set cat Nothing
End Sub
Pour ton autre prob c'est encore plus bizare mais bon voilà peut-être de quoi te sauver la vie.
'Un petit code de secours pour ouvrir un classeur qui
'fait planter Excel à cause de macros mal programmées
'(si si, ça arrive !)

'Recopier ce module dans le Perso.xls et relier la procédure
' "OuvrirMacrosDesactivées" à un bouton dans une barre d'outils

Sub OuvrirMacrosDesactivées()
Classeur = Application.GetOpenFileName("Classeurs Excel,*.xls")
If Classeur = False Then Exit Sub
Application.EnableEvents = False
Workbooks.Open Filename:=Classeur
Application.EnableEvents = True
End Sub
Et en dernier recourt ce code-ci mais là tu devra refaire tes UserForm en mode Desing

'Récupérer les modules de code d'un classeur Excel corrompu à partir de Word
'(le code est récupéré dans des fichiers .txt)

'\for this macro to run you need to establish a reference to the
'\Microsoft Excel xx.0 Object Library
'\also, if you get a File Open error message, hit Debug, then Continue

Sub Recover_Excel_VBA_modules()
'Run this macro from Word VBA to recover modules from corrupt Excel files.
'Rob Bruce, mpep

Dim XL As Excel.Application
Dim XLVBE As Object
Dim i As Integer, j As Integer

Set XL = New Excel.Application

XL.Workbooks.Open Filename:="h:\CR - Portfolio Template.xls" 'or whatever

Set XLVBE = XL.VBE

j = XLVBE.VBProjects(1).VBComponents.Count

For i = 1 To j
'Debug.Print XLVBE.VBProjects(1).VBComponents(i).Name
XLVBE.VBProjects(1).VBComponents(i).Export _
Filename:="C:\temp\vbe_" & (100 + i) & ".txt"
Next

XL.Quit
Set XL = Nothing

End Sub

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé

Merci valtrase 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

ScSami 1490 Messages postés mercredi 5 février 2003Date d'inscription 3 décembre 2007 Dernière intervention - 31 mai 2005 à 01:25
0
Merci
Merci Valtrase... mais ça ne réponds pas vraiment à toutes mes questions...



En effet, je sais comment implémenter une référence externe, mais ma
question était de savoir si on pouvait se passer, via, p.e., un
paramètre par défaut ou une magouille, de mettre le nom de la feuille
lorsque le classeur n'en possède qu'une seule!



Mais en effet, moi non plus je ne crois pas que l'on puisse récupérer
le nom d'une feuille si son classeur est fermé... Pourtant, si on peut
récupérer les données d'une cellule (avec, justement, ces relations
externes), je ne vois pas ce qui nous empêcherait de récupérer la
collection des feuilles du classeur!!! Enfin, les ingénieurs de MS
n'ont décidément jamais vraiment dû coder avec leur VBA... Bon, ceci
dit, on peut pas non plus le leur reprocher et demander au VBA de faire
de l'AI en VR!!!



Cependant, je te remercis quand même de t'être donnné la peinne de répondre



Concernant la date, je vais faire des tests mais j'ai de très sérieux
doutes quant aux résultats... Surtout si en plus les mois sont en
majuscules!!! A mon avis, il faut utiliser une technique plus sérieuse
en codant un petit algo... Bref, je verrais bien



Enjoy
ScSami 1490 Messages postés mercredi 5 février 2003Date d'inscription 3 décembre 2007 Dernière intervention - 1 juin 2005 à 00:50
0
Merci
lol... C'est justement comme ça que j'ai dû faire du coup!!!



Merci pour l'info des dates et le test que tu as fais...



Ceci dit, là, maintenant, j'ai un autre très big problème!!! Je pense
que c'est un bug irrécupérable mais bon, si tu connais la magouille, je
t'en supplie à 4 genoux, donne moi la solution :



Aujourd'hui, lorsque j'ai ouvert mon classeur Excel, Question :
"Activer / Desactiver / Infos sur les macros". Bon, OK, tout est
normal. Mais après avoir donné l'une ou l'autre des réponses (et même
avec un reboot du PC entre deux tentatives...), rien, je n'ai
absolument rien qui s'affiche!!! C'est un peu comme si la feuille
s'ouvrait puis se refermait directement mais sans s'afficher... Y'a
bien un bref petit flash juste après la fenêtre de la question, mais
après, rien, le fichier ne se charge pas!!!

Alors là je suis vraiment déséspéré surtout que j'avais fait du beau code et j'y avais déjà passé quelques heures de débugage



Et le pire dans l'histoire c'est que mon fichier fait bien 176 Ko disk !!!



Au secours...
ScSami 1490 Messages postés mercredi 5 février 2003Date d'inscription 3 décembre 2007 Dernière intervention - 1 juin 2005 à 14:35
0
Merci
Hoho, alors là, franchement Val, je ne sais pas comment te remercier!!!



Mais dit moi, où as-tu bien pu trouver toutes ces sources??? Sur VBF???



Bon, je vais aller voir tout ça de plus prêt...



Et je dis déjà un grand :






MERCI








Enjoy
valtrase 936 Messages postés lundi 19 janvier 2004Date d'inscription 17 mars 2017 Dernière intervention - 1 juin 2005 à 18:13
0
Merci
Non recherche sur Google tout simplement

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
ScSami 1490 Messages postés mercredi 5 février 2003Date d'inscription 3 décembre 2007 Dernière intervention - 2 juin 2005 à 04:20
0
Merci
Merci pour l'URI... mais, si tu le veux bien, je la donne à tout le monde :



http://www.excelabo.net/



Ca peut toujours servir !!!



Enjoy



(Désolé, mais j'ai une toute petite connexion Internet... 28K... Je
dois être le dernier français dans ce cas... alors ne m'en veux pas
trop si, finalement, Google n'est tant mon ami que ça ;-)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.