begin process at 2012 02 09 02:24:07
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Divers

 > 

General

 > 

Diverses petite questions


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Diverses petite questions

mercredi 2 mai 2007 à 18:47:10 | Diverses petite questions

dj hf

Bonjour a tous ,

Je suis entrin de creer une interface utilisateur sur word pour faire du stockage dans excel.

J'ai rencontré quelques problemes je viens donc vous poser mes questions :

1° Je voudrais savoir quelle commande je dois utiliser pour enregistrer un doc excel que ma macro a modifié et qui existait deja (avec trois feuilles contenant des tableaux)  , j'ai essayé appliexcel.save mais quand j'ouvre par la suite le doc excel, il ne contient plus aucune feuille?

2° J'ai fais un bouton sous word sur la feuille, et je voudrais qu'il ne soit pas statique mais qu'il se deplace sur le coté droit de la page, lorsque l'utilisateur fait défilé le document , de facon a ce qu'il l'ai toujours sous la main.

3° Je voudrais creer un bouton "parcourir" pour que l'utilisateur selectionne un fichier, et stocker dans une variable le chemin vers celui-ci, j'ai trouvé des sujets qui en parlait sur le forum mais rien n'a fonctionné pour moi.

4° Je voudrais que mon code , renomme un fichier excel deja existant mais je ne sais pas comment faire.

5° L'utilisateur donne une valeur a une variable sur ma form1 et je voudrais pouvoir utiliser cette valeur dans ma form2 , j'ai essayé de declarer la variable dans la partie generale puis dans un module mais aucune des deux techniques ne fonctionnent , qu'elle est la marche a suivre precisement.

6° Mes champs textes sur mes forms ne permettent pas le click droit pour par exemple copier ou coller et je voudrais permettre cela faut il ajuster une propriété.

7° Et je voulais savoir si il est possible que ma macro reconnaisse le numero de page ou l'utilisateur se situ lors de sa lecture.

Merci de m'avoir de lu deja.

Merci d'avance de l'aide que vou m'apporterez.

jeudi 3 mai 2007 à 08:42:48 | Diverses petites réponses

jrivet

Membre Club
Réponse acceptée !
Salut,
Je suis sûr que tu as déjà trouver tes solutions....

1°) Pour sauver un classeur excel il te faut utiliser Save mais sur un objet de type WorkBook.(il semblerait que tu le fasse sur l'objet Application, qui, soit dit en passant, ne possède pas de méthode Save) il serait judicieux de donner tes definitions de variables. (utilise tu une référence pour ton projet ou bien des variables issue d'un CreateObject

2°) Pourquoi ne pas insérer un Menu dans Word que l'utilisateur pourra aller chercher n'importe plutôt que de se trimbaler avec un bouton...

3°) Qu'as tu trouver? je crois que le Microsoft Common Dialog Control est pour toi. (avec ces méthode ShowOpen Et ShowSave)

4°) Est ce que tu veux le renommer lorsque'il est ouvert ou pas? Si pas besoin d'être ouvert alors utilise Name Source As Destination
Avec Source le nom de départ et destination le nom d'arriver

5°) Tu as du te tromper quelques part car cela fonctionne, déclarée en public dans un module une variable est accessible partout
Public TOTO As String , TOTO sera visible et modifiable depuis tes deux UserForm

6°) Il faut passer par un PopUpMenu

7°) il suffit de chercher un peu sur Google....
Dim ActivePage As Integer
ActivePage = Selection.Information(wdActiveEndPageNumber)
By Renfield



@+: Ju£i€n
Pensez: Réponse acceptée
jeudi 3 mai 2007 à 09:03:56 | Re : Diverses petite questions

jrivet

Membre Club
Réponse acceptée !
Re,
Je t'ai trouvé et adapter (commenté) un petit exemple pour le point 2°) l'exemple ci dessous est à ajouter dans le code de thisDocument
Sub CreateCommandBar()
Dim oCommandBar As CommandBar
Dim oControl As CommandBarButton
CustomizationContext = ActiveDocument.AttachedTemplate
On Error Resume Next
   'On l'efface au cas ou elle est été
   'déjà presente
   CommandBars("MaBar").Delete
On Error GoTo 0
   'on ajoute un bar de commande a WORD (elle sera ancree)
   'Si tu veux qu'elle soit flottante sur ton document
   'remplace msoBarTop par msoBarFloating
   Set oCommandBar = CommandBars.Add("MaBar", msoBarTop)
   'on la rends visible
   oCommandBar.Visible = True
   'on lui ajoute un bouton
   Set oControl = oCommandBar.Controls.Add(msoControlButton)
   'ca c'est le ToolTip
   oControl.Caption = "TonTitre"
   'ca c'est le nom de la procédure à appeler si on appuie dessus
   oControl.OnAction = "TaProcedure"
   oControl.FaceId = 250 'Ca c'est un indice pour l'icone à mettre (connais pas les valeurs)

End Sub
Sub TaProcedure()
MsgBox "Tu as appuye sur le bouton de ta command Bar"
End Sub


Private Sub Document_Open()
   CreateCommandBar
End Sub
By Renfield


@+: Ju£i€n
Pensez: Réponse acceptée
jeudi 3 mai 2007 à 19:24:37 | Re : Diverses petite questions

dj hf

Salut Jrivet merci beaucoupde ton aide et du code c'est vraiment sympa de t'etre investi pour m'aider !!!

Donc grace a toi 1°,2° , 4° et 7° sont resolus , sa fonctionne.
Pour 5° c'est resolu aussi, j'ai trouvé mon erreur, c'etait que pour appeler la variable il fallait faire NomDuModule.NomDeLaVariable et moi j'oubliais d'ecrire NomDuModule.

Pour 3° , tu as raison CommonDialogu est fait pour ca, mais pour des raisons techniques  (cahier des charges) je ne peu pas m'en servir dans mon projet donc je me demandais si il y avait une autre technique pour faire que l'utilisateur selectionne un chemin vers un fichier et que se chemin soit stocké dans une variable.

Pour 6° je comprends pas trop ce que tu entends par Pop Up Menu ici.

Et depuis hier j'ai rencontré de nouvelles embuches donc j'allonge la liste :

8° J'ai le chemin complet vers un fichier dans une variable, et je dois renommer ce fuchier en y ajoutant au debut la valeur d'une autre variable.
En gros j'ai ma variable "chemin" qui contient un truc du genre"c:\document\fichier.xls.
J'ai une autre variable "nom" qui contien le nom que l'utilisateur a entré.
Et je dois renommé le fichier dont il m'a donné le chemin en y ajoutant son nom devant ca donnera nom_fichier.xls
Sachant que le fichier peut avoir n'importe quel nom tout comme l'utilistauer, je suis donc obligé d'utiliser des variables. Mais je ne vois pas comment renommer que la partie du fichier qui m'interess??

9° Tout autre chose, word effectue un suivi de modification. Donc on peut lire en cliquant sur l'icone du suivi quel utilisateur a a modifié quoi dans le document.
Il faudrait que je puisse avoir accés a ce suivi , au nom de l'utilisateur et a ce qu'il a modifié pour stocker tout cela dans excel. Pareil, si quelqu'un s'est deja atardé sur le sujet son aide sera la bienvenue.

MERCI D'AVANCE ET MERCI ENCORE JRIVET

vendredi 4 mai 2007 à 07:55:10 | Re : Diverses petite questions

jrivet

Membre Club
Réponse acceptée !
Re,
Content que tu avances.
3°) pas de CommonDialogu pour ton cahier des charges.... pas de bol. Si ce n'est que le chemin que tu veux demander, tu peux essayer un module qui s'appelle BrowseForFolder

6°) j'ai regarder un peu hier mais je n'ai rien réussi à faire. je vais réessayer aujourd hui

8°)Ce qu'il te faut sont les fonction Mid, Len, InstrRev
Soit en mixant le tout
Dim Chemin As String
Dim NomUtil As String
Dim NomTotal As String
'le chemin
Chemin = "C:\Test\Fichier.xls"
NomUtil = "Ajout_"
NomTotal = Mid(Chemin, 1, InStrRev(Chemin, "\")) & NomUtil & Mid(Chemin, InStrRev(Chemin, "\") + 1)
MsgBox NomTotal
By Renfield
9°) AUCUNE IDEE
@+: Ju£i€n
Pensez: Réponse acceptée
vendredi 4 mai 2007 à 08:23:35 | Re : Diverses petite questions

jmfmarques

Membre Club
Réponse acceptée !

Bonjour,

Je vois qu'on t'emposinne l'existence en t'imposant de ne pas utiliser un contrôle commonDialog
Je suppose qu'on t'interdit alors également l'emploi d'une fonction de l'Api de indows qui ferait la même chose...

Qu'à celà ne tienne !m

Sur ton userform :

- 1 drivelistbox nommée Drive1
- 1 dirlistBox nommée Dir1
-1 FileListbox nommée File1

Code :

Private Sub Command1_Click()
  'tu peu forcer le choix du drive
  'exemple :
  'Drive1.Drive = "d:"
  ' tu peux également forcer le répertoire, exemple
  Dir1.Path = "d:\monoutil"
End Sub

Private Sub Drive1_Change()
 Dir1.Path = "d:"
End Sub
Private Sub Dir1_Change()
  File1.Path = Dir1.Path
  'tu peux forcer l'extension, si tu veux, exemple
  File1.Pattern = "*.xls"
End Sub

Private Sub File1_Click()
  MsgBox Dir1.Path & "\" & File1.filename
End Sub



 

vendredi 4 mai 2007 à 08:30:59 | Re : Diverses petite questions

jrivet

Membre Club
Réponse acceptée !
Re,
De retour pour
6°)IL Y A SANS DOUTE PLUS SIMPLE MAIS JE NE CONNAIS PAS
 j'ai trouve grâce aux Google Groupe (une mine d'or d'info)
Pour ne pas "polluer" le forum avec un simple copier coller voici le lien interessant



@+: Ju£i€n
Pensez: Réponse acceptée
dimanche 6 mai 2007 à 11:22:36 | Re : Diverses petite questions

dj hf

Merci beaucoup Jrivet de ton aide c'est super et merci a toi jmfmarques pour ton code super utile!!! C'est hyper sympa a vous de vous etre cresé la tete pour m'aider!

Je vais tester tout ca et je vous tient au courant, de toute facon j'aurais certainement d'autres petites question mais je commence a maitrisé de plus en plus visual basic!

mercredi 9 mai 2007 à 19:05:37 | Re : Diverses petite questions

dj hf

Salut !

Alors j'ai rencontré deux , trois embuches aujourd'hui ,VbFrance a repondu aux trois quarts des questions que je me posais, je vous poses donc celle sans reponses :

A° Est il possible de lancer une procedure lorsqu'un utilisateurs ecrit dans Word ? Stocker ce qu'il ecrit dans une variable? Localiser l'endroit ou il a ecrit?

B° C'est toujours pour renommer les fichiers, cette fois j'ai deux variables v1 et v2 , v1 contient le chemin vers un fichier "c:\test.xls" et v2 contient un mot. Je dois renommer le fichier test.xls de cette facon : test_nom.xls, j'imagine qu'il faut se servir des fonctions Mid, Len, InstrRev comme jrivet me l'avait dit pour un probleme un peu semblabe, mais comme je n'ai pas compris comment cela fonctionné exactemen...

C° Est il possible que ma macro lance une autre macro qui existe deja ?

 

Voila c'est tout pour aujourd'hui 

MERCI D'AVANCE

jeudi 10 mai 2007 à 08:01:36 | Diverses petites réponses

jrivet

Membre Club
Réponse acceptée !
Salut,

A°) Aucune idée pour l'instant


B° qu'est ce que tu ne comprends pas?
alors lorsque tu ne comprends pas une procédure tu peux aller voir la MSDN disponible sur internet (ou pour les plus chanceux directement sur leur poste avec F1)
En gros:
Mid te permet d'extraire une partie d'un chaine de caractère (premier parametre), en lui passant la position du premier caractere à prendre (second parametre) , et la longueur (dernier parametre). si le dernier parametre n'est pas mis alors il prendra la "sous chaine" a partir de la position dite jusqu'à la fin.
Len: bah ca te renvoi la longueur d'une chaine de caractere.
InstrRev (tirée de la msdn)

Description

Renvoie la position d'une occurrence d'une chaîne dans une autre, à partir de la fin de la chaîne.

Syntaxe

InstrRev(string1,string2[,start[,compare]])

La syntaxe de la fonction InstrRev comprend les éléments suivants :

ÉlémentDescription
string1Expression de chaîne dans laquelle la recherche est effectuée.
string2Expression recherchée.
startFacultatif. Expression numérique définissant la position de départ de chaque recherche. Si elle est omise, -1 est employé, ce qui signifie que la recherche commence à la dernière position de caractère. Si l'argument start contient la valeur

Null, une erreur se produit.

compareFacultatif. Valeur numérique indiquant le type de comparaison à utiliser lors de l'évaluation des sous-chaînes. Si elle est omise, une comparaison binaire est effectuée. Reportez-vous à la section Valeurs.

C°) oui il est tout a fait possible de le faire (si la procédure à appeler à été déclarer avec une portée suffisante pour être vu par la premiere)
exemple tout bête (si j'ai bien compris ce que tu souhaites)
Sub TaMacro1()
   MsgBox "Macro 1"
   Call TaMacro2
End Sub

Sub TaMacro2()
   MsgBox "Macro 2"
End Sub
By Renfield



@+: Ju£i€n
Pensez: Réponse acceptée

1 2 3 4

Cette discussion est classée dans : variable, excel, utilisateur, questions, deja


Répondre à ce message

Sujets en rapport avec ce message

GESTION DES ERREURS [ par Alain ] Bonjour,J'ai réalisé un programme ou on rentre par l'intermédiaire d'un INPUT BOX une variable pour ouvrir une application Excel (feuille Excel). Pour envoyer variable dans classeur excel [ par martinii ] je voudrais savoir comment on envoie une variable de visual basic vers telle cellule de tel classeur Excel...quelqu1 peut-il m'aider?? masque de saisie sur un formulaire utilisateur excel [ par bubulle ] salutje suis entrain de créer un formulaire utilisateur de saisie sur excel. Pour un de mes textbox je dois définir un format horaire (hh:mm) avec un getobject de Excel [ par Charlie ] Mon application utilise Excel pour écrire des données et faire des graphes. Quand l'utilisateur ferme Excel par le X, l'application excel.exe reste da Problème de variable [ par Tom78 ] 'lut,Alors v'la, jai un champ texte ou l'utilisateur saisi le mot de passe de la bd access...après j'essaye d'ouvrir la base avec le mot de passe sais MESSAGE BOX VBA EXCEL [ par thierrypp ] THIERRYPP BONJOUR,ESt-il vraiment possible de lancer une macro Excel VBA proposant immédiatement:-chercher (browse) un fichier format .dat ( wordpad) MESSAGE BOX VBA EXCEL [ par thierrypp ] THIERRYPP BONJOUR,ESt-il vraiment possible de lancer une macro Excel VBA proposant immédiatement:-chercher (browse) un fichier format .dat ( wordpad) Passage de variable dans un shell [ par RouX ] Je voudrais ouvrir une feuille Excel en lui donnant un nom.J'ai fait :shell ("C:\...\excel.exe toto.xls)toto.xls n'existe pas et je veux le créer. Exc Attendre une durée variable en minutes entre deus evenements [ par jack ] Salut !j'ai besoin de créer une application qui execute un evenement qu'apres une durée en minutes variable...en fait cette durée doit etre fournies p Variable windows [ par metos ] J'aimerais travailler avec le répertoire courent de l'utilisateur ( c:\documents and settings\user\).Je sais qu'il est existe une variable windows per


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,811 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales