Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VBA et intranet

9 réponses
Avatar
Ced
Bonjour,

J'ai un petit probleme.
J'ai un reseau intranet sur lequel on a des classeurs excel.
Probleme, quand on les ouvre, ca s'ouvre via internet explorer et pas excel.
Or, je voudrais depuis VBA ouvrir, via le lien le classeur excel et copier
la feuille dans mon classeur actuel et fermer ensuite le classeur qui est sur
intranet.

J'ai un debut de code qui me permet d'ouvrir le lien, mais ensuite, j'ai
plus la main pour copier coller la feuille que je veux dans mon classeur de
travail.

Voici le code :


Sub test1()


Dim IE As Object
'Dim sLocalFilename As String
'Const READYSTATE_INTERACTIVE = 3
'Const READYSTATE_COMPLETE = 4

'ced
NomFichier = ActiveWorkbook.Name
nbfeuille = Sheets.Count 'compte le nombre de feuilles

'
'crée un objet internet Explorer
Set IE = CreateObject("InternetExplorer.Application")
'le masque
IE.Visible = True

'ouvre la page d'enregistrement de identification Ecti
IE.navigate "http://mon adresseIntranet/dossier.xls"
'attends que la page soit ouverte
'Do While IE.readyState <> READYSTATE_INTERACTIVE
'DoEvents
'Loop

'pour voir si la page est bien ouverte
Do While IE.ReadyState <> 4
DoEvents
Loop

' la ca marche pas
IE.Activate
IE.Select
IE.Copy
'************
NomFichier = ActiveWorkbook.Name
nbfeuille = Sheets.Count 'compte le nombre de feuilles


End Sub

Merci de m'aider.

--
ced

9 réponses

Avatar
MichDenis
Bonjour Ced,

Je ne suis pas en réseau pour tester...
mais as-tu essayé ceci :

Sub test()
Workbooks.Open "http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon adresseIntranet/dossier.xls"
End Sub



"Ced" a écrit dans le message de groupe de discussion :

Bonjour,

J'ai un petit probleme.
J'ai un reseau intranet sur lequel on a des classeurs excel.
Probleme, quand on les ouvre, ca s'ouvre via internet explorer et pas excel.
Or, je voudrais depuis VBA ouvrir, via le lien le classeur excel et copier
la feuille dans mon classeur actuel et fermer ensuite le classeur qui est sur
intranet.

J'ai un debut de code qui me permet d'ouvrir le lien, mais ensuite, j'ai
plus la main pour copier coller la feuille que je veux dans mon classeur de
travail.

Voici le code :


Sub test1()


Dim IE As Object
'Dim sLocalFilename As String
'Const READYSTATE_INTERACTIVE = 3
'Const READYSTATE_COMPLETE = 4

'ced
NomFichier = ActiveWorkbook.Name
nbfeuille = Sheets.Count 'compte le nombre de feuilles

'
'crée un objet internet Explorer
Set IE = CreateObject("InternetExplorer.Application")
'le masque
IE.Visible = True

'ouvre la page d'enregistrement de identification Ecti
IE.navigate "http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon adresseIntranet/dossier.xls"
'attends que la page soit ouverte
'Do While IE.readyState <> READYSTATE_INTERACTIVE
'DoEvents
'Loop

'pour voir si la page est bien ouverte
Do While IE.ReadyState <> 4
DoEvents
Loop

' la ca marche pas
IE.Activate
IE.Select
IE.Copy
'************
NomFichier = ActiveWorkbook.Name
nbfeuille = Sheets.Count 'compte le nombre de feuilles


End Sub

Merci de m'aider.

--
ced
Avatar
Ced
Bonjour MichDenis

Bien Merci, ca marche en fait comme ca.
Bon, par contre, le proble qui arrive, c'est que j'ai une fenêtre qui
apparait et qui me demande mon compte et mot de pass. Mais quand je click sur
annuler ou la croix, C ok, ma feuille excel dans excel (ouahou merci pour ca)
apparait.
Mais, je ne sais pas gerer cette feuille, pour lui faire faire ce que je
fais à la main : Annuler.

J'ai essayé

Application.EnableEvents = False
Application.DisplayAlerts = False ' ca vire l'alerte excel

avant et apres worbook.Open, mais ca marche pas. Ca reste bloqué sur la
fenetre !!


Merci
--
ced
--
ced


"MichDenis" a écrit :

Bonjour Ced,

Je ne suis pas en réseau pour tester...
mais as-tu essayé ceci :

Sub test()
Workbooks.Open "http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon adresseIntranet/dossier.xls"
End Sub



"Ced" a écrit dans le message de groupe de discussion :

Bonjour,

J'ai un petit probleme.
J'ai un reseau intranet sur lequel on a des classeurs excel.
Probleme, quand on les ouvre, ca s'ouvre via internet explorer et pas excel.
Or, je voudrais depuis VBA ouvrir, via le lien le classeur excel et copier
la feuille dans mon classeur actuel et fermer ensuite le classeur qui est sur
intranet.

J'ai un debut de code qui me permet d'ouvrir le lien, mais ensuite, j'ai
plus la main pour copier coller la feuille que je veux dans mon classeur de
travail.

Voici le code :


Sub test1()


Dim IE As Object
'Dim sLocalFilename As String
'Const READYSTATE_INTERACTIVE = 3
'Const READYSTATE_COMPLETE = 4

'ced
NomFichier = ActiveWorkbook.Name
nbfeuille = Sheets.Count 'compte le nombre de feuilles

'
'crée un objet internet Explorer
Set IE = CreateObject("InternetExplorer.Application")
'le masque
IE.Visible = True

'ouvre la page d'enregistrement de identification Ecti
IE.navigate "http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon adresseIntranet/dossier.xls"
'attends que la page soit ouverte
'Do While IE.readyState <> READYSTATE_INTERACTIVE
'DoEvents
'Loop

'pour voir si la page est bien ouverte
Do While IE.ReadyState <> 4
DoEvents
Loop

' la ca marche pas
IE.Activate
IE.Select
IE.Copy
'************
NomFichier = ActiveWorkbook.Name
nbfeuille = Sheets.Count 'compte le nombre de feuilles


End Sub

Merci de m'aider.

--
ced




Avatar
Ced
Bonjour MichDenis

Bien Merci, ca marche en fait comme ca.
Bon, par contre, le proble qui arrive, c'est que j'ai une fenêtre qui
apparait et qui me demande mon compte et mot de pass. Mais quand je click sur
annuler ou la croix, C ok, ma feuille excel dans excel (ouahou merci pour ca)
apparait.
Mais, je ne sais pas gerer cette feuille, pour lui faire faire ce que je
fais à la main : Annuler.

J'ai essayé

Application.EnableEvents = False
Application.DisplayAlerts = False ' ca vire l'alerte excel

avant et apres worbook.Open, mais ca marche pas. Ca reste bloqué sur la
fenetre !!


Merci
--
ced
--
ced


"MichDenis" a écrit :

Bonjour Ced,

Je ne suis pas en réseau pour tester...
mais as-tu essayé ceci :

Sub test()
Workbooks.Open "http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon adresseIntranet/dossier.xls"
End Sub



"Ced" a écrit dans le message de groupe de discussion :

Bonjour,

J'ai un petit probleme.
J'ai un reseau intranet sur lequel on a des classeurs excel.
Probleme, quand on les ouvre, ca s'ouvre via internet explorer et pas excel.
Or, je voudrais depuis VBA ouvrir, via le lien le classeur excel et copier
la feuille dans mon classeur actuel et fermer ensuite le classeur qui est sur
intranet.

J'ai un debut de code qui me permet d'ouvrir le lien, mais ensuite, j'ai
plus la main pour copier coller la feuille que je veux dans mon classeur de
travail.

Voici le code :


Sub test1()


Dim IE As Object
'Dim sLocalFilename As String
'Const READYSTATE_INTERACTIVE = 3
'Const READYSTATE_COMPLETE = 4

'ced
NomFichier = ActiveWorkbook.Name
nbfeuille = Sheets.Count 'compte le nombre de feuilles

'
'crée un objet internet Explorer
Set IE = CreateObject("InternetExplorer.Application")
'le masque
IE.Visible = True

'ouvre la page d'enregistrement de identification Ecti
IE.navigate "http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon adresseIntranet/dossier.xls"
'attends que la page soit ouverte
'Do While IE.readyState <> READYSTATE_INTERACTIVE
'DoEvents
'Loop

'pour voir si la page est bien ouverte
Do While IE.ReadyState <> 4
DoEvents
Loop

' la ca marche pas
IE.Activate
IE.Select
IE.Copy
'************
NomFichier = ActiveWorkbook.Name
nbfeuille = Sheets.Count 'compte le nombre de feuilles


End Sub

Merci de m'aider.

--
ced




Avatar
MichDenis
Tu peux utiliser la Commande Sendkeys juste avant
la commande d'ouverture du fichier.

ça pourrait donner quelque chose dans le genre :
sinon, tu devras trouver la séquence des touches
en replacement de "N"...

Ce type de macro doit être lancé depuis l'interface de
la feuille de calcul et non en vba.
'-----------------------------------
Sub test()
SendKeys "N"
Workbooks.Open "http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon adresseIntranet/dossier.xls"
End Sub
'-----------------------------------

| je ne sais pas gerer cette feuille

Qu'a t'elle de particulier ? Comme je ne suis pas en réseau,
je n'ai jamais utilisé ce type de commande ...

Peut-être auras-tu une réponse d'une autre personne
qui connaît cet environnement.






"Ced" a écrit dans le message de groupe de discussion :

Bonjour MichDenis

Bien Merci, ca marche en fait comme ca.
Bon, par contre, le proble qui arrive, c'est que j'ai une fenêtre qui
apparait et qui me demande mon compte et mot de pass. Mais quand je click sur
annuler ou la croix, C ok, ma feuille excel dans excel (ouahou merci pour ca)
apparait.
Mais, je ne sais pas gerer cette feuille, pour lui faire faire ce que je
fais à la main : Annuler.

J'ai essayé

Application.EnableEvents = False
Application.DisplayAlerts = False ' ca vire l'alerte excel

avant et apres worbook.Open, mais ca marche pas. Ca reste bloqué sur la
fenetre !!


Merci
--
ced
--
ced


"MichDenis" a écrit :

Bonjour Ced,

Je ne suis pas en réseau pour tester...
mais as-tu essayé ceci :

Sub test()
Workbooks.Open "http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon adresseIntranet/dossier.xls"
End Sub



"Ced" a écrit dans le message de groupe de discussion :

Bonjour,

J'ai un petit probleme.
J'ai un reseau intranet sur lequel on a des classeurs excel.
Probleme, quand on les ouvre, ca s'ouvre via internet explorer et pas excel.
Or, je voudrais depuis VBA ouvrir, via le lien le classeur excel et copier
la feuille dans mon classeur actuel et fermer ensuite le classeur qui est sur
intranet.

J'ai un debut de code qui me permet d'ouvrir le lien, mais ensuite, j'ai
plus la main pour copier coller la feuille que je veux dans mon classeur de
travail.

Voici le code :


Sub test1()


Dim IE As Object
'Dim sLocalFilename As String
'Const READYSTATE_INTERACTIVE = 3
'Const READYSTATE_COMPLETE = 4

'ced
NomFichier = ActiveWorkbook.Name
nbfeuille = Sheets.Count 'compte le nombre de feuilles

'
'crée un objet internet Explorer
Set IE = CreateObject("InternetExplorer.Application")
'le masque
IE.Visible = True

'ouvre la page d'enregistrement de identification Ecti
IE.navigate "http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon adresseIntranet/dossier.xls"
'attends que la page soit ouverte
'Do While IE.readyState <> READYSTATE_INTERACTIVE
'DoEvents
'Loop

'pour voir si la page est bien ouverte
Do While IE.ReadyState <> 4
DoEvents
Loop

' la ca marche pas
IE.Activate
IE.Select
IE.Copy
'************
NomFichier = ActiveWorkbook.Name
nbfeuille = Sheets.Count 'compte le nombre de feuilles


End Sub

Merci de m'aider.

--
ced




Avatar
Ced
Merci,

Mais il faut que je passe par VBA absolument car, j'ai 90 possibilités de
feuilles excel à aller chercher de maniere automatique depuis un Userform.
Il me reste plus que ce truc a gerer, ouvrir ces classeurs excel.

Par contre, je comprend pas trop cette fonction :
J'ai vu ca du coup, mais je comprends pas le fonctionnement

Affecte un raccourci à la touche ECHAP
"MaMacro": nom de la macro à exécuter
Sub Affectation()
Application.OnKey "{ECHAP}", "MaMacro"
End Sub

--
ced


"MichDenis" a écrit :

Tu peux utiliser la Commande Sendkeys juste avant
la commande d'ouverture du fichier.

ça pourrait donner quelque chose dans le genre :
sinon, tu devras trouver la séquence des touches
en replacement de "N"...

Ce type de macro doit être lancé depuis l'interface de
la feuille de calcul et non en vba.
'-----------------------------------
Sub test()
SendKeys "N"
Workbooks.Open "http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon adresseIntranet/dossier.xls"
End Sub
'-----------------------------------

| je ne sais pas gerer cette feuille

Qu'a t'elle de particulier ? Comme je ne suis pas en réseau,
je n'ai jamais utilisé ce type de commande ...

Peut-être auras-tu une réponse d'une autre personne
qui connaît cet environnement.






"Ced" a écrit dans le message de groupe de discussion :

Bonjour MichDenis

Bien Merci, ca marche en fait comme ca.
Bon, par contre, le proble qui arrive, c'est que j'ai une fenêtre qui
apparait et qui me demande mon compte et mot de pass. Mais quand je click sur
annuler ou la croix, C ok, ma feuille excel dans excel (ouahou merci pour ca)
apparait.
Mais, je ne sais pas gerer cette feuille, pour lui faire faire ce que je
fais à la main : Annuler.

J'ai essayé

Application.EnableEvents = False
Application.DisplayAlerts = False ' ca vire l'alerte excel

avant et apres worbook.Open, mais ca marche pas. Ca reste bloqué sur la
fenetre !!


Merci
--
ced
--
ced


"MichDenis" a écrit :

> Bonjour Ced,
>
> Je ne suis pas en réseau pour tester...
> mais as-tu essayé ceci :
>
> Sub test()
> Workbooks.Open "http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon adresseIntranet/dossier.xls"
> End Sub
>
>
>
> "Ced" a écrit dans le message de groupe de discussion :
>
> Bonjour,
>
> J'ai un petit probleme.
> J'ai un reseau intranet sur lequel on a des classeurs excel.
> Probleme, quand on les ouvre, ca s'ouvre via internet explorer et pas excel.
> Or, je voudrais depuis VBA ouvrir, via le lien le classeur excel et copier
> la feuille dans mon classeur actuel et fermer ensuite le classeur qui est sur
> intranet.
>
> J'ai un debut de code qui me permet d'ouvrir le lien, mais ensuite, j'ai
> plus la main pour copier coller la feuille que je veux dans mon classeur de
> travail.
>
> Voici le code :
>
>
> Sub test1()
>
>
> Dim IE As Object
> 'Dim sLocalFilename As String
> 'Const READYSTATE_INTERACTIVE = 3
> 'Const READYSTATE_COMPLETE = 4
>
> 'ced
> NomFichier = ActiveWorkbook.Name
> nbfeuille = Sheets.Count 'compte le nombre de feuilles
>
> '
> 'crée un objet internet Explorer
> Set IE = CreateObject("InternetExplorer.Application")
> 'le masque
> IE.Visible = True
>
> 'ouvre la page d'enregistrement de identification Ecti
> IE.navigate "http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon adresseIntranet/dossier.xls"
> 'attends que la page soit ouverte
> 'Do While IE.readyState <> READYSTATE_INTERACTIVE
> 'DoEvents
> 'Loop
>
> 'pour voir si la page est bien ouverte
> Do While IE.ReadyState <> 4
> DoEvents
> Loop
>
> ' la ca marche pas
> IE.Activate
> IE.Select
> IE.Copy
> '************
> NomFichier = ActiveWorkbook.Name
> nbfeuille = Sheets.Count 'compte le nombre de feuilles
>
>
> End Sub
>
> Merci de m'aider.
>
> --
> ced
>
>



Avatar
MichDenis
| J'ai vu ca du coup, mais je comprends pas le fonctionnement

| Affecte un raccourci à la touche ECHAP
| "MaMacro": nom de la macro à exécuter
| Sub Affectation()
| Application.OnKey "{ECHAP}", "MaMacro"
| End Sub

Cette procédure affecte une macro "MaMacro" à une touche "Echap"
du clavier. Après l'exécution de cette macro, le simple fait d'enfoncer
la touche "Echap" va déclencher la macro "MaMacro". Évidemment,
tu dois avoir défini la procédure "MaMacro" et l'avoir mise dans
un module standard.
Avatar
MichDenis
Lorsque tu as un message à l'ouverture du fichier,
quelle est la lettre active (soulignée) du bouton "annuler" ?

Dans la commande Sendkeys que tu as reçue, tu n'as qu'à remplacer
le "N" de mon exemple par cette lettre et cela devrait fonctionner !



"Ced" a écrit dans le message de groupe de discussion :

Merci,

Mais il faut que je passe par VBA absolument car, j'ai 90 possibilités de
feuilles excel à aller chercher de maniere automatique depuis un Userform.
Il me reste plus que ce truc a gerer, ouvrir ces classeurs excel.

Par contre, je comprend pas trop cette fonction :
J'ai vu ca du coup, mais je comprends pas le fonctionnement

Affecte un raccourci à la touche ECHAP
"MaMacro": nom de la macro à exécuter
Sub Affectation()
Application.OnKey "{ECHAP}", "MaMacro"
End Sub

--
ced


"MichDenis" a écrit :

Tu peux utiliser la Commande Sendkeys juste avant
la commande d'ouverture du fichier.

ça pourrait donner quelque chose dans le genre :
sinon, tu devras trouver la séquence des touches
en replacement de "N"...

Ce type de macro doit être lancé depuis l'interface de
la feuille de calcul et non en vba.
'-----------------------------------
Sub test()
SendKeys "N"
Workbooks.Open "http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon adresseIntranet/dossier.xls"
End Sub
'-----------------------------------

| je ne sais pas gerer cette feuille

Qu'a t'elle de particulier ? Comme je ne suis pas en réseau,
je n'ai jamais utilisé ce type de commande ...

Peut-être auras-tu une réponse d'une autre personne
qui connaît cet environnement.






"Ced" a écrit dans le message de groupe de discussion :

Bonjour MichDenis

Bien Merci, ca marche en fait comme ca.
Bon, par contre, le proble qui arrive, c'est que j'ai une fenêtre qui
apparait et qui me demande mon compte et mot de pass. Mais quand je click sur
annuler ou la croix, C ok, ma feuille excel dans excel (ouahou merci pour ca)
apparait.
Mais, je ne sais pas gerer cette feuille, pour lui faire faire ce que je
fais à la main : Annuler.

J'ai essayé

Application.EnableEvents = False
Application.DisplayAlerts = False ' ca vire l'alerte excel

avant et apres worbook.Open, mais ca marche pas. Ca reste bloqué sur la
fenetre !!


Merci
--
ced
--
ced


"MichDenis" a écrit :

> Bonjour Ced,
>
> Je ne suis pas en réseau pour tester...
> mais as-tu essayé ceci :
>
> Sub test()
> Workbooks.Open "http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon adresseIntranet/dossier.xls"
> End Sub
>
>
>
> "Ced" a écrit dans le message de groupe de discussion :
>
> Bonjour,
>
> J'ai un petit probleme.
> J'ai un reseau intranet sur lequel on a des classeurs excel.
> Probleme, quand on les ouvre, ca s'ouvre via internet explorer et pas excel.
> Or, je voudrais depuis VBA ouvrir, via le lien le classeur excel et copier
> la feuille dans mon classeur actuel et fermer ensuite le classeur qui est sur
> intranet.
>
> J'ai un debut de code qui me permet d'ouvrir le lien, mais ensuite, j'ai
> plus la main pour copier coller la feuille que je veux dans mon classeur de
> travail.
>
> Voici le code :
>
>
> Sub test1()
>
>
> Dim IE As Object
> 'Dim sLocalFilename As String
> 'Const READYSTATE_INTERACTIVE = 3
> 'Const READYSTATE_COMPLETE = 4
>
> 'ced
> NomFichier = ActiveWorkbook.Name
> nbfeuille = Sheets.Count 'compte le nombre de feuilles
>
> '
> 'crée un objet internet Explorer
> Set IE = CreateObject("InternetExplorer.Application")
> 'le masque
> IE.Visible = True
>
> 'ouvre la page d'enregistrement de identification Ecti
> IE.navigate "http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon adresseIntranet/dossier.xls"
> 'attends que la page soit ouverte
> 'Do While IE.readyState <> READYSTATE_INTERACTIVE
> 'DoEvents
> 'Loop
>
> 'pour voir si la page est bien ouverte
> Do While IE.ReadyState <> 4
> DoEvents
> Loop
>
> ' la ca marche pas
> IE.Activate
> IE.Select
> IE.Copy
> '************
> NomFichier = ActiveWorkbook.Name
> nbfeuille = Sheets.Count 'compte le nombre de feuilles
>
>
> End Sub
>
> Merci de m'aider.
>
> --
> ced
>
>



Avatar
Ced
Merci Michedenis

En fait, il n'y a pas de lettre soulignée sur Annuler, car cette fenetre
permet directement à l'utilisateeur d'ecrire un mot de pass et le Login.
Le "OK" est grisé jusqu'à l'entrée de la premiere lettre dans le mot de pass
ou le login.

Du coups, le "Annuler" n'est disponible qu'avec la souris. Il n'y a qu'
"ECHAP" qui peut me permettre d'enlever la fenetre ou ca petite croix qui est
elle disponible que par la souris.

Salutations

--
ced


"MichDenis" a écrit :

Lorsque tu as un message à l'ouverture du fichier,
quelle est la lettre active (soulignée) du bouton "annuler" ?

Dans la commande Sendkeys que tu as reçue, tu n'as qu'à remplacer
le "N" de mon exemple par cette lettre et cela devrait fonctionner !



"Ced" a écrit dans le message de groupe de discussion :

Merci,

Mais il faut que je passe par VBA absolument car, j'ai 90 possibilités de
feuilles excel à aller chercher de maniere automatique depuis un Userform.
Il me reste plus que ce truc a gerer, ouvrir ces classeurs excel.

Par contre, je comprend pas trop cette fonction :
J'ai vu ca du coup, mais je comprends pas le fonctionnement

Affecte un raccourci à la touche ECHAP
"MaMacro": nom de la macro à exécuter
Sub Affectation()
Application.OnKey "{ECHAP}", "MaMacro"
End Sub

--
ced


"MichDenis" a écrit :

> Tu peux utiliser la Commande Sendkeys juste avant
> la commande d'ouverture du fichier.
>
> ça pourrait donner quelque chose dans le genre :
> sinon, tu devras trouver la séquence des touches
> en replacement de "N"...
>
> Ce type de macro doit être lancé depuis l'interface de
> la feuille de calcul et non en vba.
> '-----------------------------------
> Sub test()
> SendKeys "N"
> Workbooks.Open "http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon adresseIntranet/dossier.xls"
> End Sub
> '-----------------------------------
>
> | je ne sais pas gerer cette feuille
>
> Qu'a t'elle de particulier ? Comme je ne suis pas en réseau,
> je n'ai jamais utilisé ce type de commande ...
>
> Peut-être auras-tu une réponse d'une autre personne
> qui connaît cet environnement.
>
>
>
>
>
>
> "Ced" a écrit dans le message de groupe de discussion :
>
> Bonjour MichDenis
>
> Bien Merci, ca marche en fait comme ca.
> Bon, par contre, le proble qui arrive, c'est que j'ai une fenêtre qui
> apparait et qui me demande mon compte et mot de pass. Mais quand je click sur
> annuler ou la croix, C ok, ma feuille excel dans excel (ouahou merci pour ca)
> apparait.
> Mais, je ne sais pas gerer cette feuille, pour lui faire faire ce que je
> fais à la main : Annuler.
>
> J'ai essayé
>
> Application.EnableEvents = False
> Application.DisplayAlerts = False ' ca vire l'alerte excel
>
> avant et apres worbook.Open, mais ca marche pas. Ca reste bloqué sur la
> fenetre !!
>
>
> Merci
> --
> ced
> --
> ced
>
>
> "MichDenis" a écrit :
>
> > Bonjour Ced,
> >
> > Je ne suis pas en réseau pour tester...
> > mais as-tu essayé ceci :
> >
> > Sub test()
> > Workbooks.Open "http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon adresseIntranet/dossier.xls"
> > End Sub
> >
> >
> >
> > "Ced" a écrit dans le message de groupe de discussion :
> >
> > Bonjour,
> >
> > J'ai un petit probleme.
> > J'ai un reseau intranet sur lequel on a des classeurs excel.
> > Probleme, quand on les ouvre, ca s'ouvre via internet explorer et pas excel.
> > Or, je voudrais depuis VBA ouvrir, via le lien le classeur excel et copier
> > la feuille dans mon classeur actuel et fermer ensuite le classeur qui est sur
> > intranet.
> >
> > J'ai un debut de code qui me permet d'ouvrir le lien, mais ensuite, j'ai
> > plus la main pour copier coller la feuille que je veux dans mon classeur de
> > travail.
> >
> > Voici le code :
> >
> >
> > Sub test1()
> >
> >
> > Dim IE As Object
> > 'Dim sLocalFilename As String
> > 'Const READYSTATE_INTERACTIVE = 3
> > 'Const READYSTATE_COMPLETE = 4
> >
> > 'ced
> > NomFichier = ActiveWorkbook.Name
> > nbfeuille = Sheets.Count 'compte le nombre de feuilles
> >
> > '
> > 'crée un objet internet Explorer
> > Set IE = CreateObject("InternetExplorer.Application")
> > 'le masque
> > IE.Visible = True
> >
> > 'ouvre la page d'enregistrement de identification Ecti
> > IE.navigate "http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon adresseIntranet/dossier.xls"
> > 'attends que la page soit ouverte
> > 'Do While IE.readyState <> READYSTATE_INTERACTIVE
> > 'DoEvents
> > 'Loop
> >
> > 'pour voir si la page est bien ouverte
> > Do While IE.ReadyState <> 4
> > DoEvents
> > Loop
> >
> > ' la ca marche pas
> > IE.Activate
> > IE.Select
> > IE.Copy
> > '************
> > NomFichier = ActiveWorkbook.Name
> > nbfeuille = Sheets.Count 'compte le nombre de feuilles
> >
> >
> > End Sub
> >
> > Merci de m'aider.
> >
> > --
> > ced
> >
> >
>



Avatar
MichDenis
Dernière suggestion :

Sub test()
SendKeys "{ESC}"
Workbooks.Open "http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon adresseIntranet/dossier.xls"
End Sub




"Ced" a écrit dans le message de groupe de discussion :

Merci Michedenis

En fait, il n'y a pas de lettre soulignée sur Annuler, car cette fenetre
permet directement à l'utilisateeur d'ecrire un mot de pass et le Login.
Le "OK" est grisé jusqu'à l'entrée de la premiere lettre dans le mot de pass
ou le login.

Du coups, le "Annuler" n'est disponible qu'avec la souris. Il n'y a qu'
"ECHAP" qui peut me permettre d'enlever la fenetre ou ca petite croix qui est
elle disponible que par la souris.

Salutations

--
ced


"MichDenis" a écrit :

Lorsque tu as un message à l'ouverture du fichier,
quelle est la lettre active (soulignée) du bouton "annuler" ?

Dans la commande Sendkeys que tu as reçue, tu n'as qu'à remplacer
le "N" de mon exemple par cette lettre et cela devrait fonctionner !



"Ced" a écrit dans le message de groupe de discussion :

Merci,

Mais il faut que je passe par VBA absolument car, j'ai 90 possibilités de
feuilles excel à aller chercher de maniere automatique depuis un Userform.
Il me reste plus que ce truc a gerer, ouvrir ces classeurs excel.

Par contre, je comprend pas trop cette fonction :
J'ai vu ca du coup, mais je comprends pas le fonctionnement

Affecte un raccourci à la touche ECHAP
"MaMacro": nom de la macro à exécuter
Sub Affectation()
Application.OnKey "{ECHAP}", "MaMacro"
End Sub

--
ced


"MichDenis" a écrit :

> Tu peux utiliser la Commande Sendkeys juste avant
> la commande d'ouverture du fichier.
>
> ça pourrait donner quelque chose dans le genre :
> sinon, tu devras trouver la séquence des touches
> en replacement de "N"...
>
> Ce type de macro doit être lancé depuis l'interface de
> la feuille de calcul et non en vba.
> '-----------------------------------
> Sub test()
> SendKeys "N"
> Workbooks.Open "http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon adresseIntranet/dossier.xls"
> End Sub
> '-----------------------------------
>
> | je ne sais pas gerer cette feuille
>
> Qu'a t'elle de particulier ? Comme je ne suis pas en réseau,
> je n'ai jamais utilisé ce type de commande ...
>
> Peut-être auras-tu une réponse d'une autre personne
> qui connaît cet environnement.
>
>
>
>
>
>
> "Ced" a écrit dans le message de groupe de discussion :
>
> Bonjour MichDenis
>
> Bien Merci, ca marche en fait comme ca.
> Bon, par contre, le proble qui arrive, c'est que j'ai une fenêtre qui
> apparait et qui me demande mon compte et mot de pass. Mais quand je click sur
> annuler ou la croix, C ok, ma feuille excel dans excel (ouahou merci pour ca)
> apparait.
> Mais, je ne sais pas gerer cette feuille, pour lui faire faire ce que je
> fais à la main : Annuler.
>
> J'ai essayé
>
> Application.EnableEvents = False
> Application.DisplayAlerts = False ' ca vire l'alerte excel
>
> avant et apres worbook.Open, mais ca marche pas. Ca reste bloqué sur la
> fenetre !!
>
>
> Merci
> --
> ced
> --
> ced
>
>
> "MichDenis" a écrit :
>
> > Bonjour Ced,
> >
> > Je ne suis pas en réseau pour tester...
> > mais as-tu essayé ceci :
> >
> > Sub test()
> > Workbooks.Open "http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon adresseIntranet/dossier.xls"
> > End Sub
> >
> >
> >
> > "Ced" a écrit dans le message de groupe de discussion :
> >
> > Bonjour,
> >
> > J'ai un petit probleme.
> > J'ai un reseau intranet sur lequel on a des classeurs excel.
> > Probleme, quand on les ouvre, ca s'ouvre via internet explorer et pas excel.
> > Or, je voudrais depuis VBA ouvrir, via le lien le classeur excel et copier
> > la feuille dans mon classeur actuel et fermer ensuite le classeur qui est sur
> > intranet.
> >
> > J'ai un debut de code qui me permet d'ouvrir le lien, mais ensuite, j'ai
> > plus la main pour copier coller la feuille que je veux dans mon classeur de
> > travail.
> >
> > Voici le code :
> >
> >
> > Sub test1()
> >
> >
> > Dim IE As Object
> > 'Dim sLocalFilename As String
> > 'Const READYSTATE_INTERACTIVE = 3
> > 'Const READYSTATE_COMPLETE = 4
> >
> > 'ced
> > NomFichier = ActiveWorkbook.Name
> > nbfeuille = Sheets.Count 'compte le nombre de feuilles
> >
> > '
> > 'crée un objet internet Explorer
> > Set IE = CreateObject("InternetExplorer.Application")
> > 'le masque
> > IE.Visible = True
> >
> > 'ouvre la page d'enregistrement de identification Ecti
> > IE.navigate "http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://mon adresseIntranet/dossier.xls"
> > 'attends que la page soit ouverte
> > 'Do While IE.readyState <> READYSTATE_INTERACTIVE
> > 'DoEvents
> > 'Loop
> >
> > 'pour voir si la page est bien ouverte
> > Do While IE.ReadyState <> 4
> > DoEvents
> > Loop
> >
> > ' la ca marche pas
> > IE.Activate
> > IE.Select
> > IE.Copy
> > '************
> > NomFichier = ActiveWorkbook.Name
> > nbfeuille = Sheets.Count 'compte le nombre de feuilles
> >
> >
> > End Sub
> >
> > Merci de m'aider.
> >
> > --
> > ced
> >
> >
>