[VBA] a l'aide ,pitié, please , ayuda
clben23
Messages postés
22
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
bonjour,
bon voila la situation:
j'ai créé une macro excel qui ouvre une feuille word et lance une macro appartenant à cette meme feuille word.cette derniere lance un formulaire qui lance des MsgBox en fonction d'un parametre (si on acocher des CheckBox ou non) toujours sur la feuille word recement ouverte.
Mes deux problemes:
1° je voudrais savoir si on peut selectionner une ligne de texte ou meme un objet dans une MsgBox depuis word (pitié dite oui et comment!!!!!)?
2° je voudrais importer les valeurs renseigné par la MsgBox vers Excel (plus précisment le classeur qui a ouvert la feuille word)et les stocker dans une feuille nommé "variables" .
tout les noms peuvent etre changé a tout moment, seul "variables" est invariant (lol...).
Voila si vous faites ca je vous sacre chevalier de merci mon dieu ca fait 5 jours que je tourne en rond et que je pense toucher au but!!!!!!!!
merci encore
Clben23
bon voila la situation:
j'ai créé une macro excel qui ouvre une feuille word et lance une macro appartenant à cette meme feuille word.cette derniere lance un formulaire qui lance des MsgBox en fonction d'un parametre (si on acocher des CheckBox ou non) toujours sur la feuille word recement ouverte.
Mes deux problemes:
1° je voudrais savoir si on peut selectionner une ligne de texte ou meme un objet dans une MsgBox depuis word (pitié dite oui et comment!!!!!)?
2° je voudrais importer les valeurs renseigné par la MsgBox vers Excel (plus précisment le classeur qui a ouvert la feuille word)et les stocker dans une feuille nommé "variables" .
tout les noms peuvent etre changé a tout moment, seul "variables" est invariant (lol...).
Voila si vous faites ca je vous sacre chevalier de merci mon dieu ca fait 5 jours que je tourne en rond et que je pense toucher au but!!!!!!!!
merci encore
Clben23
A voir également:
- [VBA] a l'aide ,pitié, please , ayuda
- Excel compter cellule couleur sans vba - Guide
- Find vba - Astuces et Solutions
- Incompatibilité de type vba ✓ - Forum VB / VBA
- Erreur 13 incompatibilité de type VBA excel ✓ - Forum Excel
- Mkdir vba ✓ - Forum VB / VBA
7 réponses
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
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
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
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
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