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

Lancé une macro automatiquement, sous condition

12 réponses
Avatar
fifigim
Bonjour,

J'ai une macro (de base), et je voudrais qu'elle démarre toute seule, sous
une conditon que je définie (une cellule = 1 tout simplement)...

Comment faire ?

De plus, question bonus : comment simuler une action sur une page web, style
javascript:fcDoAction('......') ?

(Oui parce que ma marco, elle ouvre une page web, et je ve qu'elle 'clic'
dessus...)

Pour résumé, je voudrais, avec Excel, sans que je sois devant le pc, ouvrir
un page web à une heure donnée, et cliquer sur un lien (le fameux javascript
etc)

Merci !

10 réponses

1 2
Avatar
ThierryP
Bonjour fifigim,

Pour la question 1, ça va !!
Dans un évènement WorkSheet_change, si ta cellule est A1 :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target <> Range("A1") Then Exit Sub
Call Ta_Macro
End Sub

Pour le reste, il te faut attendre des meilleurs que moi !!


Bonjour,

J'ai une macro (de base), et je voudrais qu'elle démarre toute seule, sous
une conditon que je définie (une cellule = 1 tout simplement)...

Comment faire ?

De plus, question bonus : comment simuler une action sur une page web, style
javascript:fcDoAction('......') ?

(Oui parce que ma marco, elle ouvre une page web, et je ve qu'elle 'clic'
dessus...)

Pour résumé, je voudrais, avec Excel, sans que je sois devant le pc, ouvrir
un page web à une heure donnée, et cliquer sur un lien (le fameux javascript
etc)

Merci !




--


@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline

Avatar
fifigim
Ma macro est la suivante :

Private Declare Function ShellExecute Lib "shell32.dll" Alias _
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal _
lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As _
String, ByVal nShowCmd As Long) As Long
Private Const SW_SHOWNORMAL As Long = 1

Sub LanceNavigateurPardefaut()

Dim Lurl As String
Lurl = "http://www.caf.fr"
ShellExecute hwnd, "open", Lurl, vbNullString, vbNullString, SW_SHOWNORMAL

End Sub

Je la met où ta procédure pour que quand la cellule G2 = 1, la macro que
j'ai se lance toute seule ?

Merci



Bonjour fifigim,

Pour la question 1, ça va !!
Dans un évènement WorkSheet_change, si ta cellule est A1 :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target <> Range("A1") Then Exit Sub
Call Ta_Macro
End Sub

Pour le reste, il te faut attendre des meilleurs que moi !!


Bonjour,

J'ai une macro (de base), et je voudrais qu'elle démarre toute seule, sous
une conditon que je définie (une cellule = 1 tout simplement)...

Comment faire ?

De plus, question bonus : comment simuler une action sur une page web, style
javascript:fcDoAction('......') ?

(Oui parce que ma marco, elle ouvre une page web, et je ve qu'elle 'clic'
dessus...)

Pour résumé, je voudrais, avec Excel, sans que je sois devant le pc, ouvrir
un page web à une heure donnée, et cliquer sur un lien (le fameux javascript
etc)

Merci !




--


@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline




Avatar
ThierryP
Re,

Cette procédure doit être placée dans le module de la feuille de ta
cellule G2 (Dans l'éditeur, click droit sur ta feuille -> Code et tu
recopies :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target <> Range("G2") Then Exit Sub
If target.value=1 then Call LanceNavigateurPardefaut
End Sub

Ma macro est la suivante :

Private Declare Function ShellExecute Lib "shell32.dll" Alias _
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal _
lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As _
String, ByVal nShowCmd As Long) As Long
Private Const SW_SHOWNORMAL As Long = 1

Sub LanceNavigateurPardefaut()

Dim Lurl As String
Lurl = "http://www.caf.fr"
ShellExecute hwnd, "open", Lurl, vbNullString, vbNullString, SW_SHOWNORMAL

End Sub

Je la met où ta procédure pour que quand la cellule G2 = 1, la macro que
j'ai se lance toute seule ?

Merci



Bonjour fifigim,

Pour la question 1, ça va !!
Dans un évènement WorkSheet_change, si ta cellule est A1 :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target <> Range("A1") Then Exit Sub
Call Ta_Macro
End Sub

Pour le reste, il te faut attendre des meilleurs que moi !!


Bonjour,

J'ai une macro (de base), et je voudrais qu'elle démarre toute seule, sous
une conditon que je définie (une cellule = 1 tout simplement)...

Comment faire ?

De plus, question bonus : comment simuler une action sur une page web, style
javascript:fcDoAction('......') ?

(Oui parce que ma marco, elle ouvre une page web, et je ve qu'elle 'clic'
dessus...)

Pour résumé, je voudrais, avec Excel, sans que je sois devant le pc, ouvrir
un page web à une heure donnée, et cliquer sur un lien (le fameux javascript
etc)

Merci !


--



@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline




--


@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline



Avatar
Norvi
Bonjour,

Dans le code de la feuille, et non dans un module.

Pour la navigation, je te prépare un fichier qui pourrait te donner
des idées.

N.
Avatar
fifigim
J'ai copier ceci dans microscoft excel object, Feuil1.

Mais que ma cellule G2 soit égale à 1 ou pas, la macro du navigateur
fonctionne qd meme, et ne se lance pas toute seule...

?



Re,

Cette procédure doit être placée dans le module de la feuille de ta
cellule G2 (Dans l'éditeur, click droit sur ta feuille -> Code et tu
recopies :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target <> Range("G2") Then Exit Sub
If target.value=1 then Call LanceNavigateurPardefaut
End Sub

Ma macro est la suivante :

Private Declare Function ShellExecute Lib "shell32.dll" Alias _
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal _
lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As _
String, ByVal nShowCmd As Long) As Long
Private Const SW_SHOWNORMAL As Long = 1

Sub LanceNavigateurPardefaut()

Dim Lurl As String
Lurl = "http://www.caf.fr"
ShellExecute hwnd, "open", Lurl, vbNullString, vbNullString, SW_SHOWNORMAL

End Sub

Je la met où ta procédure pour que quand la cellule G2 = 1, la macro que
j'ai se lance toute seule ?

Merci



Bonjour fifigim,

Pour la question 1, ça va !!
Dans un évènement WorkSheet_change, si ta cellule est A1 :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target <> Range("A1") Then Exit Sub
Call Ta_Macro
End Sub

Pour le reste, il te faut attendre des meilleurs que moi !!


Bonjour,

J'ai une macro (de base), et je voudrais qu'elle démarre toute seule, sous
une conditon que je définie (une cellule = 1 tout simplement)...

Comment faire ?

De plus, question bonus : comment simuler une action sur une page web, style
javascript:fcDoAction('......') ?

(Oui parce que ma marco, elle ouvre une page web, et je ve qu'elle 'clic'
dessus...)

Pour résumé, je voudrais, avec Excel, sans que je sois devant le pc, ouvrir
un page web à une heure donnée, et cliquer sur un lien (le fameux javascript
etc)

Merci !


--



@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline




--


@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline






Avatar
ThierryP
Si tu as plusieurs feuilles, es-tu sûr du nom de la feuille dans
laquelle ta cellule G2 se trouve ?? Ta cellule n'est pas alimentée par
une macro ??
C'est la seule raison que je vois...ou alors les évènements sont
désactivés; pour être sûr, recopie ceci dans un module :

sub test()
application.enableevents=true
end sub
et lance la. Ensuite, retour à ta feuille, entre 1 en G2

J'ai copier ceci dans microscoft excel object, Feuil1.

Mais que ma cellule G2 soit égale à 1 ou pas, la macro du navigateur
fonctionne qd meme, et ne se lance pas toute seule...

?



Re,

Cette procédure doit être placée dans le module de la feuille de ta
cellule G2 (Dans l'éditeur, click droit sur ta feuille -> Code et tu
recopies :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target <> Range("G2") Then Exit Sub
If target.value=1 then Call LanceNavigateurPardefaut
End Sub

Ma macro est la suivante :

Private Declare Function ShellExecute Lib "shell32.dll" Alias _
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal _
lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As _
String, ByVal nShowCmd As Long) As Long
Private Const SW_SHOWNORMAL As Long = 1

Sub LanceNavigateurPardefaut()

Dim Lurl As String
Lurl = "http://www.caf.fr"
ShellExecute hwnd, "open", Lurl, vbNullString, vbNullString, SW_SHOWNORMAL

End Sub

Je la met où ta procédure pour que quand la cellule G2 = 1, la macro que
j'ai se lance toute seule ?

Merci



Bonjour fifigim,

Pour la question 1, ça va !!
Dans un évènement WorkSheet_change, si ta cellule est A1 :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target <> Range("A1") Then Exit Sub
Call Ta_Macro
End Sub

Pour le reste, il te faut attendre des meilleurs que moi !!


Bonjour,

J'ai une macro (de base), et je voudrais qu'elle démarre toute seule, sous
une conditon que je définie (une cellule = 1 tout simplement)...

Comment faire ?

De plus, question bonus : comment simuler une action sur une page web, style
javascript:fcDoAction('......') ?

(Oui parce que ma marco, elle ouvre une page web, et je ve qu'elle 'clic'
dessus...)

Pour résumé, je voudrais, avec Excel, sans que je sois devant le pc, ouvrir
un page web à une heure donnée, et cliquer sur un lien (le fameux javascript
etc)

Merci !


--



@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline

--




@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline




--


@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline





Avatar
Lolote
Salut Fifigim,
Peut être que ceci devrait t'aider.
A placer dans le code de feuil1

Private Declare Function ShellExecute Lib "shell32.dll" Alias _
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal _
lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As _
String, ByVal nShowCmd As Long) As Long
Private Const SW_SHOWNORMAL As Long = 1

Sub LanceNavigateurPardefaut()
Dim Lurl As String
Lurl = "http://www.caf.fr"
ShellExecute hwnd, "open", Lurl, vbNullString, vbNullString,
SW_SHOWNORMAL
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$G$2" And Target.Value = 1 Then
Call LanceNavigateurPardefaut
End If
End Sub


"fifigim" a écrit dans le message de
news:
Bonjour,

J'ai une macro (de base), et je voudrais qu'elle démarre toute seule, sous
une conditon que je définie (une cellule = 1 tout simplement)...

Comment faire ?

De plus, question bonus : comment simuler une action sur une page web,
style
javascript:fcDoAction('......') ?

(Oui parce que ma marco, elle ouvre une page web, et je ve qu'elle 'clic'
dessus...)

Pour résumé, je voudrais, avec Excel, sans que je sois devant le pc,
ouvrir
un page web à une heure donnée, et cliquer sur un lien (le fameux
javascript
etc)

Merci !




Avatar
fifigim
Merci pour toute cette aide.

La macro fonctionne très bien si je tape au clavier 1 dans la cellule de
choix (G2 ou autre)...

Mais cela ne marche pas si j'ai une fonction "SI" dedant, dont le résultat
passe à 1 en conditon vrai.

En fait, l'horloge (du pc) tourne dans une cellule, et quand elle arrive à
une certaine heure, j'ai un petit calcul que me donne 1 ou 0. Quand, j'ai 1
qui apparait, je voudrais lançer ma fameuse macro.

Peut-être mettre une condition directement sur l'heure pourrait fonctionner ?


Si tu as plusieurs feuilles, es-tu sûr du nom de la feuille dans
laquelle ta cellule G2 se trouve ?? Ta cellule n'est pas alimentée par
une macro ??
C'est la seule raison que je vois...ou alors les évènements sont
désactivés; pour être sûr, recopie ceci dans un module :

sub test()
application.enableevents=true
end sub
et lance la. Ensuite, retour à ta feuille, entre 1 en G2

J'ai copier ceci dans microscoft excel object, Feuil1.

Mais que ma cellule G2 soit égale à 1 ou pas, la macro du navigateur
fonctionne qd meme, et ne se lance pas toute seule...

?



Re,

Cette procédure doit être placée dans le module de la feuille de ta
cellule G2 (Dans l'éditeur, click droit sur ta feuille -> Code et tu
recopies :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target <> Range("G2") Then Exit Sub
If target.value=1 then Call LanceNavigateurPardefaut
End Sub

Ma macro est la suivante :

Private Declare Function ShellExecute Lib "shell32.dll" Alias _
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal _
lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As _
String, ByVal nShowCmd As Long) As Long
Private Const SW_SHOWNORMAL As Long = 1

Sub LanceNavigateurPardefaut()

Dim Lurl As String
Lurl = "http://www.caf.fr"
ShellExecute hwnd, "open", Lurl, vbNullString, vbNullString, SW_SHOWNORMAL

End Sub

Je la met où ta procédure pour que quand la cellule G2 = 1, la macro que
j'ai se lance toute seule ?

Merci



Bonjour fifigim,

Pour la question 1, ça va !!
Dans un évènement WorkSheet_change, si ta cellule est A1 :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target <> Range("A1") Then Exit Sub
Call Ta_Macro
End Sub

Pour le reste, il te faut attendre des meilleurs que moi !!


Bonjour,

J'ai une macro (de base), et je voudrais qu'elle démarre toute seule, sous
une conditon que je définie (une cellule = 1 tout simplement)...

Comment faire ?

De plus, question bonus : comment simuler une action sur une page web, style
javascript:fcDoAction('......') ?

(Oui parce que ma marco, elle ouvre une page web, et je ve qu'elle 'clic'
dessus...)

Pour résumé, je voudrais, avec Excel, sans que je sois devant le pc, ouvrir
un page web à une heure donnée, et cliquer sur un lien (le fameux javascript
etc)

Merci !


--



@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline

--




@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline




--


@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline








Avatar
Norvi
Fifigim,

Ok, ou puis-je t'envoyer un classeur avec une macro qui te permet de
naviguer sur Internet, de remplir des formulaire automatiquement, de
clicker sur des liens.

Sinon, concernant l'activation automatique de ta macro, dans les
exemples ci dessus, elle ne se lancera que si tu change la valeur dans
la cellule G2. La macro Worksheet_Change ne se lance que s'il y a des
changements dans la feuille.

La solution serait de lancer ton classeur, de le laisser toujours
ouvert, et de préparer une macro qui activerait une procedure à heure
fixe (sachant qu'en ouvrant ton classeur, ta macro se lancerait).

N.
Avatar
Norvi
Le voilà :
http://cjoint.com/?ehn42ilgBc

Avec un timer pour se dechlencher 5 secondes après avoir cliqué sur
le bouton. Ce que tu peux bien entendu changer dans le code VBA par une
heures précise, un interval différents, etc...

Bonne journée,

N.
1 2