Afficher feuille excel

Résolu
santiago06 Messages postés 21 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 25 janvier 2008 - 8 janv. 2008 à 20:10
santiago06 Messages postés 21 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 25 janvier 2008 - 14 janv. 2008 à 18:46

20 réponses

Utilisateur anonyme
8 janv. 2008 à 20:20
ShowMeMyFormEveryDays ^^

__________
  Kenji
3
santiago06 Messages postés 21 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 25 janvier 2008
8 janv. 2008 à 20:31
re bonjour,
pour la réponse de Charles Racaud

pourrais-je avoir un petit peu plus de renseignement si c'est possible ,la fonction remplace une autre ?,je la rajoute dans le code ou?

merci d'avance
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
8 janv. 2008 à 20:35
Avant d'avoir une réponse, si tu posais une question d'abords, ça sera plus simple non???

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #   
0
santiago06 Messages postés 21 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 25 janvier 2008
8 janv. 2008 à 20:44
re bonjour,

a partir d'une lisbox je veux afficher une feuille d'un classeur .
le code que j'utilise me génère un code d'erreur"424"
 peut-on m'aider

merci d'avance
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
8 janv. 2008 à 21:47
Et si tu nous donnait aussi ce code qui pose problème ?
J'espere que ce n'est pas de ma "fonction" donnée plus haut dont tu parle

__________
  Kenji
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
8 janv. 2008 à 23:23
Dis-nous aussi à partir d'où tu essaies d'afficher cette feuille ... à moins que ce ne soit un classeur (?)

Tu fais tout sous Excel ou tu passes par un autre programme ?

Plus tu donneras de détails, plus simple ce sera de t'aider.

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0
santiago06 Messages postés 21 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 25 janvier 2008
9 janv. 2008 à 16:48
bonjour,

a partir d'un userform je veux avec soit une liste déroulante soit une listbox pouvoir afficher une feuille d'un autre classeur .
Voici le code que j'utilise (code trouvé sur forum) 

Dim Ap As New Application


Private Sub Form_Load()
Ap.Visible = False
Ap.Workbooks.Open ("Agenda.xls")
Dim W As Worksemaine
For Each W In Ap.Workbooks("Agenda.xls").Worksemaine
Combo1.AddItem W.Name
Next W
End Sub


Private Sub ComboBox1_Click()
Ap.Workbooks.Open ("f:\institut\projet access\Agenda.xls")

Ap.ActiveWorkbook.Worksemaine(Combo1.Text).Activate
"""cette ligne me génère un code erreur 424""""

Ap.Visible = True
Set Ap = Nothing


End
End Sub

apres pas mal de recherche sur le forum je ne trouve pas de solution
si on peut me dire ce qui ne va pas dans cette ligne

merci d'avance pour votre aide
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
9 janv. 2008 à 22:54
Dim Ap As New Application
Écris plutôt


Dim Ap As New Excel.Application


Dim Bk as Excel.Workbook ' déclaration d'un objet ClasseurPrivate Sub Form_Load()
Ap.Visible = False
Ap.Workbooks.Open ("Agenda.xls")
Set Bk = ActiveWorkbook ' assignation du classeur à la variable

<strike>Dim W As Worksemaine</strike> ???

Dim W As Excel.Worksheet ' déclaration d'un objet Feuille

For Each W In Bk 'lire toutes les feuilles W du classeur Bk
Combo1.AddItem W.Name
Next W
End Sub

Private Sub ComboBox1_Click()
Ap.Workbooks.Open ("f:\institut\projet access\Agenda.xls")

Ap.ActiveWorkbook.WorkSheets(Combo1.Text).Activate

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0
santiago06 Messages postés 21 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 25 janvier 2008
9 janv. 2008 à 23:46
bonsoir,

je remercie MPi pour sa répone mais le code me fait toujours le code erreur 424 sur la même ligne
Ap.ActiveWorkbook.Worksheets(Combo1.Text).Activate


je continue a chercher si quelqu'un a une idée

merci d'avance


 
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
10 janv. 2008 à 00:10
À quel moment l'erreur arrive-t-elle ?
Quand tu sélectionnes un item ou avant ?

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0
santiago06 Messages postés 21 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 25 janvier 2008
10 janv. 2008 à 17:22
bonjour,

l'erreur arrive quand je selectionne l'item (semaine1 par ex)

merci
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
10 janv. 2008 à 23:29
Es-tu bien certain que la feuille du deuxième fichier porte exactement le même nom que ce que tu sélectionnes dans le Combobox, soit le nom du premier fichier ?

Ap.ActiveWorkbook.Sheets(Combo1.Text).Activate

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0
santiago06 Messages postés 21 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 25 janvier 2008
11 janv. 2008 à 20:58
Bonsoir,

Pour MPi,merci tu avais raison problème de nom de feuille.
par contre maintenant je n'affiche qu'une feuille ,si je veux afficher la feuille choisie dans la liste il faut que je change le nom dans le code.

Ap.ActiveWorkbook.Sheets("semaine1").Activate
""     ""               ""                   ""                ""
Ap.ActiveWorkbook.Sheets("semaine4").Activate

j'ai donc essaye de rajouter une ligne de code par semaine,le problème est que la dernière ligne de code prime sur les autres.c'est toujours la 4 qui s'affiche.

Avant j'ai essaye avec comme 2ème ligne seulement Sheets("semaine2")

erreur de syntaxe même avec . Activate

Voici la fonction en entière

For Each W In Bk 'lire toutes les feuilles W du classeur Bk
semaine.AddItem W.feuil




J'ai essaye aussi de faire plusieurs combinaisons avec cette ligne sans grands changements.

Next W
End Sub





Private Sub ComboBox1_Click()
Ap.Workbooks.Open ("f:\institut\projet access\Agenda2.xls")
Ap.ActiveWorkbook.Sheets("semaine1").Activate


Ap.Visible = True
Set Ap = Nothing


End
End Sub

j'arrive grâce a toi a afficher déjà le document voulu et je remercie encore une fois j'avance .

je continue a chercher un moyen mais si tu as une idée je suis preneur.
merci d'avance
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
11 janv. 2008 à 23:23
OK, on repart du début...
À voir le Form_Load(), j'imagine que tu travailles sous VB6 (pas seulement Excel) et que tu ouvres 2 fichiers Excel qui se nomme Agenda.xls et Agenda2.xls, mais dans 2 répertoires différents...(?)

C'est ça ?

Peux-tu expliquer ce que tu cherches à faire exactement avec ces 2 fichiers ?
Pourquoi inscrire les noms des feuilles dans une liste ?

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0
santiago06 Messages postés 21 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 25 janvier 2008
13 janv. 2008 à 17:35
bonjour,
je ne veux ouvrir qu'un seul fichier excel. les agenda.xls et agenda2.xls sont des fichiers d'essais pour mettre au point les codes.


je veux a partir d'un userform pouvoir afficher une feuille d'un classeur que j'appelle agenda par exemple.je veux pouvoir choisir la semaine qui m'interesse à l'aide d'une liste déroulante.

aujourd'hui j'arrive à afficher une feuille du classeur mais une seule et toujours la même.j'affiche une autre feuille en changeant le numéro de la feuille dans la ligne suivante.



Ap.ActiveWorkbook.Sheets("semaine1").Activate




voilà mon problème .

merci d'avance
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
13 janv. 2008 à 19:31
Dans le code de ton UserForm, mets ceci et ça devrait bien fonctionner pour afficher une feuille du classeur actif.

Option Explicit

Private Sub ComboBox1_Click()
    Sheets(ComboBox1.Text).Activate
End Sub

Private Sub UserForm_Initialize()
    Dim Ws As Worksheet
   
    For Each Ws In ActiveWorkbook.Worksheets
        ComboBox1.AddItem Ws.Name
    Next
End Sub

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0
santiago06 Messages postés 21 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 25 janvier 2008
13 janv. 2008 à 20:10
bonsoir,

je viens d'esayer ton code il fonctionne .

merci pour ton aide .
0
santiago06 Messages postés 21 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 25 janvier 2008
14 janv. 2008 à 00:05
Bonsoir,

pour MPi je me suis réjuit trop vite ton code marche pour le classeur actif mais pas s'il est passif.
j'ai toujours mon problème d'une seule feuiile éditée quelque soit le numéro choisit.

merci d'avance si tu as une idée
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
14 janv. 2008 à 00:29
Si tu dois travailler avec plusieurs fichiers, il te faudra déclarer un objet Workbook que tu assignes au classeur passif

Private Sub ComboBox1_Click()
    objWkBook.Sheets(ComboBox1.Text).Activate
End Sub

Private Sub UserForm_Initialize()
    Dim Ws As Worksheet
    'vérifier auparavant si le fichier est bien ouvert
    For Each Ws In objWkBook.Worksheets
        ComboBox1.AddItem Ws.Name
    Next
End Sub

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0
santiago06 Messages postés 21 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 25 janvier 2008
14 janv. 2008 à 18:46
Bonjour,

pour MPi merci pour ton aide je vais essayer ton code .

a+
0
Rejoignez-nous