OVH Cloud OVH Cloud

coller avec un VBA

4 réponses
Avatar
Daniel
Bonjour
Je m'explique un peu

Cet macro est déclancher quand on sélectionne la cellule G15 et
cela a tous les 12 seconde tant que la cellule est sélectionné.
De ce fait quand la dernière ligne resélectionne G15
la macro s'exsecute et ne respecte pas le 12 seconde.

Pour cette raison je voudrait pouvoir collé mais ne pas a avoir
à désélectionner la cellule G15 pour colle à H15.

Voici la procédure:
Sub Ouvrirnroute()
MyAppID = Shell("C:\Program Files\Garmin\nRoute\nRoute.exe", 1)
Dim MyData As DataObject
Set MyData = New DataObject
SendKeys "{ESC}", True ' Envoie la combinaison escape fermé la fenêtre
SendKeys "{ESC}", True '
Application.Wait (Now + TimeValue("00:00:02"))
SendKeys "^w", True ' Envoie la combinaison CTRL+w ouvre une fenêtre
SendKeys "{tab}", True ' Envoie la combinaison CTRL+tab
SendKeys "{tab}", True ' Envoie la combinaison CTRL+tab
SendKeys "^C", True ' Envoie la combinaison CTRL+C copie sur
presse-papier
SendKeys "%{tab}", True 'Envoie la combinaison CTRL+tab
MyData.GetFromClipboard '----Récupérer le Presse-papier
Sheets("Feuille_insp").Range("h15").Select ' ceci a changer----
ActiveSheet.Paste
Sheets("Feuille_insp").Select
Range("g15").Select ' ceci a enleverer est déja sélectionner----
End Sub

Merci

4 réponses

Avatar
isabelle
bonjour Daniel,

as tu essayé comme ça,

Sheets("Feuille_insp").Range("h15") = [MyData]

isabelle


Bonjour
Je m'explique un peu

Cet macro est déclancher quand on sélectionne la cellule G15 et
cela a tous les 12 seconde tant que la cellule est sélectionné.
De ce fait quand la dernière ligne resélectionne G15
la macro s'exsecute et ne respecte pas le 12 seconde.

Pour cette raison je voudrait pouvoir collé mais ne pas a avoir
à désélectionner la cellule G15 pour colle à H15.

Voici la procédure:
Sub Ouvrirnroute()
MyAppID = Shell("C:Program FilesGarminnRoutenRoute.exe", 1)
Dim MyData As DataObject
Set MyData = New DataObject
SendKeys "{ESC}", True ' Envoie la combinaison escape fermé la fenêtre
SendKeys "{ESC}", True '
Application.Wait (Now + TimeValue("00:00:02"))
SendKeys "^w", True ' Envoie la combinaison CTRL+w ouvre une fenêtre
SendKeys "{tab}", True ' Envoie la combinaison CTRL+tab
SendKeys "{tab}", True ' Envoie la combinaison CTRL+tab
SendKeys "^C", True ' Envoie la combinaison CTRL+C copie sur
presse-papier
SendKeys "%{tab}", True 'Envoie la combinaison CTRL+tab
MyData.GetFromClipboard '----Récupérer le Presse-papier
Sheets("Feuille_insp").Range("h15").Select ' ceci a changer----
ActiveSheet.Paste
Sheets("Feuille_insp").Select
Range("g15").Select ' ceci a enleverer est déja sélectionner----
End Sub

Merci




Avatar
Daniel
Bonjour Isabelle

J'ai modifier et j'ai un message d'erreur1004
Erreur définie par l'application ou par l'objet


Sub Ouvrirnroute()
MyAppID = Shell("C:Program FilesGarminnRoutenRoute.exe", 1)
Dim MyData As DataObject
Set MyData = New DataObject
SendKeys "{ESC}", True ' Envoie la combinaison escape fermé la fenêtre
SendKeys "{ESC}", True '
Application.Wait (Now + TimeValue("00:00:02"))
SendKeys "^w", True ' Envoie la combinaison CTRL+w ouvre une fenêtre
SendKeys "{tab}", True ' Envoie la combinaison CTRL+tab
SendKeys "{tab}", True ' Envoie la combinaison CTRL+tab
SendKeys "^C", True
SendKeys "%{tab}", True 'Envoie la combinaison CTRL+tab
MyData.GetFromClipboard '----Récupérer le Presse-papier
Sheets("Feuille_insp").Range("h15") = [MyData]
End Sub


Comment corriger?
merci


"isabelle" a écrit dans le message de news:

bonjour Daniel,

as tu essayé comme ça,

Sheets("Feuille_insp").Range("h15") = [MyData]

isabelle


Bonjour
Je m'explique un peu

Cet macro est déclancher quand on sélectionne la cellule G15 et
cela a tous les 12 seconde tant que la cellule est sélectionné.
De ce fait quand la dernière ligne resélectionne G15
la macro s'exsecute et ne respecte pas le 12 seconde.

Pour cette raison je voudrait pouvoir collé mais ne pas a avoir
à désélectionner la cellule G15 pour colle à H15.

Voici la procédure:
Sub Ouvrirnroute()
MyAppID = Shell("C:Program FilesGarminnRoutenRoute.exe", 1)
Dim MyData As DataObject
Set MyData = New DataObject
SendKeys "{ESC}", True ' Envoie la combinaison escape fermé la
fenêtre
SendKeys "{ESC}", True '
Application.Wait (Now + TimeValue("00:00:02"))
SendKeys "^w", True ' Envoie la combinaison CTRL+w ouvre une fenêtre
SendKeys "{tab}", True ' Envoie la combinaison CTRL+tab
SendKeys "{tab}", True ' Envoie la combinaison CTRL+tab
SendKeys "^C", True ' Envoie la combinaison CTRL+C copie sur
presse-papier
SendKeys "%{tab}", True 'Envoie la combinaison CTRL+tab
MyData.GetFromClipboard '----Récupérer le Presse-papier
Sheets("Feuille_insp").Range("h15").Select ' ceci a changer----
ActiveSheet.Paste
Sheets("Feuille_insp").Select
Range("g15").Select ' ceci a enleverer est déja sélectionner----
End Sub

Merci





Avatar
isabelle
comment as tu déféni la classe MyData ?

isabelle


Bonjour Isabelle

J'ai modifier et j'ai un message d'erreur1004
Erreur définie par l'application ou par l'objet


Sub Ouvrirnroute()
MyAppID = Shell("C:Program FilesGarminnRoutenRoute.exe", 1)
Dim MyData As DataObject
Set MyData = New DataObject
SendKeys "{ESC}", True ' Envoie la combinaison escape fermé la fenêtre
SendKeys "{ESC}", True '
Application.Wait (Now + TimeValue("00:00:02"))
SendKeys "^w", True ' Envoie la combinaison CTRL+w ouvre une fenêtre
SendKeys "{tab}", True ' Envoie la combinaison CTRL+tab
SendKeys "{tab}", True ' Envoie la combinaison CTRL+tab
SendKeys "^C", True
SendKeys "%{tab}", True 'Envoie la combinaison CTRL+tab
MyData.GetFromClipboard '----Récupérer le Presse-papier
Sheets("Feuille_insp").Range("h15") = [MyData]
End Sub


Comment corriger?
merci


"isabelle" a écrit dans le message de news:


bonjour Daniel,

as tu essayé comme ça,

Sheets("Feuille_insp").Range("h15") = [MyData]

isabelle



Bonjour
Je m'explique un peu

Cet macro est déclancher quand on sélectionne la cellule G15 et
cela a tous les 12 seconde tant que la cellule est sélectionné.
De ce fait quand la dernière ligne resélectionne G15
la macro s'exsecute et ne respecte pas le 12 seconde.

Pour cette raison je voudrait pouvoir collé mais ne pas a avoir
à désélectionner la cellule G15 pour colle à H15.

Voici la procédure:
Sub Ouvrirnroute()
MyAppID = Shell("C:Program FilesGarminnRoutenRoute.exe", 1)
Dim MyData As DataObject
Set MyData = New DataObject
SendKeys "{ESC}", True ' Envoie la combinaison escape fermé la
fenêtre
SendKeys "{ESC}", True '
Application.Wait (Now + TimeValue("00:00:02"))
SendKeys "^w", True ' Envoie la combinaison CTRL+w ouvre une fenêtre
SendKeys "{tab}", True ' Envoie la combinaison CTRL+tab
SendKeys "{tab}", True ' Envoie la combinaison CTRL+tab
SendKeys "^C", True ' Envoie la combinaison CTRL+C copie sur
presse-papier
SendKeys "%{tab}", True 'Envoie la combinaison CTRL+tab
MyData.GetFromClipboard '----Récupérer le Presse-papier
Sheets("Feuille_insp").Range("h15").Select ' ceci a changer----
ActiveSheet.Paste
Sheets("Feuille_insp").Select
Range("g15").Select ' ceci a enleverer est déja sélectionner----
End Sub

Merci









Avatar
Daniel
Bonsoir Isabelle

voici le module au complet:

Dim MyAppID As String
Global bEnCours As Boolean
Global HeureProchainAppel

Sub MaProcedure()
If bEnCours = False Then
'Annuler le paramétrage du OnTime programmé précédemment.
On Error Resume Next
Application.OnTime EarliestTime:=HeureProchainAppel, _
Procedure:="MaProcedure", Schedule:úlse
Exit Sub
End If

Call Ouvrirnroute
'Prochain appel de OnTime
HeureProchainAppel = Now + TimeValue("00:00:10")
Application.OnTime HeureProchainAppel, "MaProcedure", False
End Sub

Sub Ouvrirnroute()
MyAppID = Shell("C:Program FilesGarminnRoutenRoute.exe", 1)
Dim MyData As DataObject
Set MyData = New DataObject
SendKeys "{ESC}", True ' Envoie la combinaison escape fermé la fenêtre
SendKeys "{ESC}", True '
Application.Wait (Now + TimeValue("00:00:02"))
SendKeys "^w", True ' Envoie la combinaison CTRL+w ouvre une fenêtre
SendKeys "{tab}", True ' Envoie la combinaison CTRL+tab
SendKeys "{tab}", True ' Envoie la combinaison CTRL+tab
SendKeys "^C", True
SendKeys "%{tab}", True 'Envoie la combinaison CTRL+tab
MyData.GetFromClipboard '----Récupérer le Presse-papier
Sheets("Feuille_insp").Range("h15") = [MyData]
End Sub

Merci

"isabelle" a écrit dans le message de news:

comment as tu déféni la classe MyData ?

isabelle


Bonjour Isabelle

J'ai modifier et j'ai un message d'erreur1004
Erreur définie par l'application ou par l'objet


Sub Ouvrirnroute()
MyAppID = Shell("C:Program FilesGarminnRoutenRoute.exe", 1)
Dim MyData As DataObject
Set MyData = New DataObject
SendKeys "{ESC}", True ' Envoie la combinaison escape fermé la
fenêtre
SendKeys "{ESC}", True '
Application.Wait (Now + TimeValue("00:00:02"))
SendKeys "^w", True ' Envoie la combinaison CTRL+w ouvre une fenêtre
SendKeys "{tab}", True ' Envoie la combinaison CTRL+tab
SendKeys "{tab}", True ' Envoie la combinaison CTRL+tab
SendKeys "^C", True
SendKeys "%{tab}", True 'Envoie la combinaison CTRL+tab
MyData.GetFromClipboard '----Récupérer le Presse-papier
Sheets("Feuille_insp").Range("h15") = [MyData]
End Sub


Comment corriger?
merci


"isabelle" a écrit dans le message de news:


bonjour Daniel,

as tu essayé comme ça,

Sheets("Feuille_insp").Range("h15") = [MyData]

isabelle



Bonjour
Je m'explique un peu

Cet macro est déclancher quand on sélectionne la cellule G15 et
cela a tous les 12 seconde tant que la cellule est sélectionné.
De ce fait quand la dernière ligne resélectionne G15
la macro s'exsecute et ne respecte pas le 12 seconde.

Pour cette raison je voudrait pouvoir collé mais ne pas a avoir
à désélectionner la cellule G15 pour colle à H15.

Voici la procédure:
Sub Ouvrirnroute()
MyAppID = Shell("C:Program FilesGarminnRoutenRoute.exe", 1)
Dim MyData As DataObject
Set MyData = New DataObject
SendKeys "{ESC}", True ' Envoie la combinaison escape fermé la
fenêtre
SendKeys "{ESC}", True '
Application.Wait (Now + TimeValue("00:00:02"))
SendKeys "^w", True ' Envoie la combinaison CTRL+w ouvre une fenêtre
SendKeys "{tab}", True ' Envoie la combinaison CTRL+tab
SendKeys "{tab}", True ' Envoie la combinaison CTRL+tab
SendKeys "^C", True ' Envoie la combinaison CTRL+C copie sur
presse-papier
SendKeys "%{tab}", True 'Envoie la combinaison CTRL+tab
MyData.GetFromClipboard '----Récupérer le Presse-papier
Sheets("Feuille_insp").Range("h15").Select ' ceci a changer----
ActiveSheet.Paste
Sheets("Feuille_insp").Select
Range("g15").Select ' ceci a enleverer est déja sélectionner----
End Sub

Merci