[VBA] a l'aide ,pitié, please , ayuda
Fermé
clben23
Messages postés
22
Date d'inscription
mercredi 13 juin 2007
Statut
Membre
Dernière intervention
9 mars 2008
-
27 juin 2007 à 16:13
Utilisateur anonyme - 29 juin 2007 à 15:10
Utilisateur anonyme - 29 juin 2007 à 15:10
A voir également:
- [VBA] a l'aide ,pitié, please , ayuda
- Excel compter cellule couleur sans vba - Guide
- Vba attendre 1 seconde ✓ - Forum VB / VBA
- Mkdir vba ✓ - Forum VB / VBA
- Autofill vba ✓ - Forum Excel
- Vba range avec variable ✓ - Forum VB / VBA
7 réponses
Utilisateur anonyme
27 juin 2007 à 19:05
27 juin 2007 à 19:05
Bonjour,
La fonction [ InputBox ] permet de récupérer des valeurs.
Lupin
La fonction [ InputBox ] permet de récupérer des valeurs.
Lupin
clben23
Messages postés
22
Date d'inscription
mercredi 13 juin 2007
Statut
Membre
Dernière intervention
9 mars 2008
28 juin 2007 à 08:12
28 juin 2007 à 08:12
salut,
ok alors voila ce que ca donne avec le input box:
et comment je fais ensuite pour envoyer les resultats vers une feuille excel deja ouverte tout en sachant que le input box a été rédigé sous word?
merci
ok alors voila ce que ca donne avec le input box:
If case_coche = True Then pos = InputBox(prompt:="choisir le lieu ou se positionnera le tableau " & tableaux, Title:="position du tableau " & tableaux) End If
et comment je fais ensuite pour envoyer les resultats vers une feuille excel deja ouverte tout en sachant que le input box a été rédigé sous word?
merci
Utilisateur anonyme
28 juin 2007 à 14:26
28 juin 2007 à 14:26
Bonjour,
exemple :
soit une macro sous Word :
et une macro sous Excel qui lance la macro sous Word pour en récupérer la valeur :
Lupin
exemple :
soit une macro sous Word :
Function Capture() As String Capture = InputBox("Saisie", "Essai de transfert", "Blanc") End Function
et une macro sous Excel qui lance la macro sous Word pour en récupérer la valeur :
Sub ChercheReponse() Dim objWord As Variant, objAppW As Variant Dim Fichier As String, Reponse As String Fichier = "C:\Documents\Word\Transfert.doc" Set objAppW = CreateObject("Word.Application") Set objWord = objAppW.Documents.Open(Fichier) objAppW.Visible = True Reponse = objAppW.Application.Run(MacroName:="Capture") MsgBox Reponse End Sub '
Lupin
clben23
Messages postés
22
Date d'inscription
mercredi 13 juin 2007
Statut
Membre
Dernière intervention
9 mars 2008
28 juin 2007 à 15:56
28 juin 2007 à 15:56
ca marche super bien!!!!
deux petit hic:
1) il faudrais que la feuille excel soit activer automatiquement apres que l'on ait selectionner dans la feuille word (donc apres la message box)
2) on ne peut que ecrire dans la inputbox , on ne peut pas selectionner une chaine de caractère (voir merveille des merveilles un objet excel!!)
si tu pouvais m'aider pour ca aussi , ca serait enorme.
dans le cas contraire je te remercie vivement car tu as déja fait beaucoup
Merci clben23
deux petit hic:
1) il faudrais que la feuille excel soit activer automatiquement apres que l'on ait selectionner dans la feuille word (donc apres la message box)
2) on ne peut que ecrire dans la inputbox , on ne peut pas selectionner une chaine de caractère (voir merveille des merveilles un objet excel!!)
si tu pouvais m'aider pour ca aussi , ca serait enorme.
dans le cas contraire je te remercie vivement car tu as déja fait beaucoup
Merci clben23
clben23
Messages postés
22
Date d'inscription
mercredi 13 juin 2007
Statut
Membre
Dernière intervention
9 mars 2008
28 juin 2007 à 15:39
28 juin 2007 à 15:39
merci je vais essayer ca ca l'air pas mal du tout
je tient au courant
je tient au courant
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
28 juin 2007 à 16:20
28 juin 2007 à 16:20
re :
en fait, je crois qu'il y a moyen de paramétrer le [ InputBox ] pour faire ce que tu veux,
toutefois je ne l'ai jamais fait sous Word, j'ai utiliser cette option une fois sous Excel afin
de faire sélectionné à l'utilisateur une plage de cellule.
je vais fouiller dans mes archives car ma mémoire n'est pas très bonne et je te reviens la-dessus !
@+
Lupin
en fait, je crois qu'il y a moyen de paramétrer le [ InputBox ] pour faire ce que tu veux,
toutefois je ne l'ai jamais fait sous Word, j'ai utiliser cette option une fois sous Excel afin
de faire sélectionné à l'utilisateur une plage de cellule.
je vais fouiller dans mes archives car ma mémoire n'est pas très bonne et je te reviens la-dessus !
@+
Lupin
Utilisateur anonyme
29 juin 2007 à 13:41
29 juin 2007 à 13:41
Bonjour,
Alors après quelques recherches, j'ai bien retrouvé la function [ InputBox ] avec l'argument
permettant de saisir autre chose que du texte, en l'occurence ici une plage de cellules :
Pour que Excel redevienne au premier plan, il est possible d'ajouter l'instruction :
objAppW.Visible = False
Lupin
Alors après quelques recherches, j'ai bien retrouvé la function [ InputBox ] avec l'argument
permettant de saisir autre chose que du texte, en l'occurence ici une plage de cellules :
Sub SaisiePlage() Dim Plage As Range, Cellule As Range Set Plage = Application.InputBox("Saisie", Type:=8) For Each Cellule In Plage MsgBox Cellule.Value Next Cellule End Sub '
Pour que Excel redevienne au premier plan, il est possible d'ajouter l'instruction :
objAppW.Visible = False
Lupin
clben23
Messages postés
22
Date d'inscription
mercredi 13 juin 2007
Statut
Membre
Dernière intervention
9 mars 2008
29 juin 2007 à 14:30
29 juin 2007 à 14:30
salut merci pour ces information, seulement (eh oui!) il ya un hic (re):
la macro de selection ets sous word donc le type de la selection ne peut pas être range.
enfin bref j'ai essaye et a marche pô.
sinon j'avis pensé a un truc du genre
et une autre macro du genre:
ainsi on aurait pu selectionner tranquilement ce qu'in voulait comme texte en attente de la pression simultané des touches Ctrl et Alt seulement voila mon truc avec les touche a marche pô on plus....
dit moi ce que tu en pense docteur, est ce grave?
peut tu la aussi jouer au jedi clair?
merci d'avance si tu peut, et encore merci pour tout
la macro de selection ets sous word donc le type de la selection ne peut pas être range.
enfin bref j'ai essaye et a marche pô.
sinon j'avis pensé a un truc du genre
Function Capture As String MsgBox " selectionner la portion de texte qui sera remplacée" capture=selection run attente end function
et une autre macro du genre:
Public Function touche() CustomizationContext = NormalTemplate acode = BuildKeyCode(wdKeyAlt, wdKeyControl, wdKeyW) While KeyPress <> acode Do Loop Wend End Function
ainsi on aurait pu selectionner tranquilement ce qu'in voulait comme texte en attente de la pression simultané des touches Ctrl et Alt seulement voila mon truc avec les touche a marche pô on plus....
dit moi ce que tu en pense docteur, est ce grave?
peut tu la aussi jouer au jedi clair?
merci d'avance si tu peut, et encore merci pour tout
Utilisateur anonyme
29 juin 2007 à 15:10
29 juin 2007 à 15:10
re :
oui, en effet je n'ai pas réussi à faire fonctionner l'instruction [ InputBox ] sous Word avec
le même paramètre.
Dans ce code,
While KeyPress <> acode ' Boucle 1
Do ' Boucle 2
Loop ' Fin boucle 2
Wend ' Fin Boucle 1
il m'apparaît que le programme s'emprisonne dans la
boucle 2 et puisque celle-ci n'a pas de condition, il n'en
sort jamais, il n'accède jamais à la ligne :
While KeyPress <> acode ' Boucle 1
Si le temps me le permet, je vais jeter un coup
d'oeil de façon plus minutieuse ce week-end !
@+
Lupin
oui, en effet je n'ai pas réussi à faire fonctionner l'instruction [ InputBox ] sous Word avec
le même paramètre.
Public Function Touche() Dim ACode As String ACode = BuildKeyCode(wdKeyAlt, wdKeyControl, wdKeyW) While KeyPress <> ACode DoEvents Wend End Function
Dans ce code,
While KeyPress <> acode ' Boucle 1
Do ' Boucle 2
Loop ' Fin boucle 2
Wend ' Fin Boucle 1
il m'apparaît que le programme s'emprisonne dans la
boucle 2 et puisque celle-ci n'a pas de condition, il n'en
sort jamais, il n'accède jamais à la ligne :
While KeyPress <> acode ' Boucle 1
Si le temps me le permet, je vais jeter un coup
d'oeil de façon plus minutieuse ce week-end !
@+
Lupin