Programmer sur excel ou visual basic

ariel -  
Neverend Messages postés 21 Statut Membre -
Bonjour,
j'ai besoin d'un coup de main concernant une programme assez complexe que je veux mettre sur pied. Il s'agit de plusieurs feuilles de calcul(cinq), contenant des mises à jour de différentes commandes. Seulement, les commandes non livrées se répètent dans chaque feuille jusqu'à ce que la livraison soit totale. Tandis que celles livrées sont supprimées de la feuille mise à jour. Par exemple, si en janvier j'ai 600 commandes enregistrées dans une feuille, et qu'à la mise à jour de mars 250 sont livrées, la feuille de mise à jour ne contiendra que les 350 commandes restantes, plus les nouvelles commandes reçues.
Je voudrais donc créer un programme qui me permettra de retrouver facilement les 250 commandes livrées et celles non livrées.
J'espère avoir été suffisamment explicite afin de pouvoir bénéficier de votre aide.
Merci d'avance.
A voir également:

51 réponses

ariel
 
bonsoir!
juste de question de mettre à jour ma discussion afin d'augmenter mes chances d'avoir un élément de réponse au problème que j'ai énoncé à la discussion précédente pour Nico et celle N°39 pour tous.
Merci d'avance!
0
nicodoudou Messages postés 48 Statut Membre 44
 
http://homepage.ntlworld.com/nicolas.doulin/Macroperso.pdf


Va sur ce lien et si c pas clair dit le moi je changerai mon topic

a+
0
ariel
 
Bonjour à vous!
J'ai réussi l'enregistrement dans dans le "classeur des macros personnelles", merci Nico pour la leçon.
La remarque que je ferai est le fait que la macro ne s'exécutera que si les classeurs concernés sont au préalable ouverts. Alors, n'y a-t-il pas une propriété sur VBA qui permet d'ouvrir un fichier existant mais fermé?
Autre chose, s'il vous plaît. (Ah, j'ai tellement de questions auxquelles j'arrive pas à donner de réponses que je me sens lourde. Excusez-moi si c'est le cas)
Y a-t-il un moyen sur VBA de protéger une macro de toute modification étrangère: un système de protection en lecture et en écriture, mots de passe par exemple?
Merci encore!
0
Polux31 Messages postés 7219 Statut Membre 1 204
 
bonjour Ariel,

Juste pour répondre sur la protection ... Tu peux protéger tes modules par Outils -> Propriétés de VBAProject ... puis sur l'onglet protection dans l'éditeur VB. Tu tapes un mot de passe. Le code ne sera être vu que si l'on donne le mot de passe.

;o)

Polux
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ariel
 
Bonjour à tous et merci à Polux pour son intervention. j'ai essayé et ça marche.
Bonne journée à vous!
0
Polux31 Messages postés 7219 Statut Membre 1 204
 
Bonjour,

De rien Ariel ... Pour la question "n'y a-t-il pas une propriété sur VBA qui permet d'ouvrir un fichier existant mais fermé?
", il me semble que oui. Fais un tour sur le site http://www.developpez.com, onglet Visual Basic, la F.A.Q. VBA, je crois qu'il y a une question la dessus ...

Bonne continuation

;o)

Polux
0
ariel
 
c'est ok pour le lien Polux je me suis retrouvée.
je me débrouillerai et ne manquerai de vous faire signe au cas où.
Bonne continuation
0
ariel
 
Bonjour,
j'aimerais pouvoir affecter à une variable le nom du fichier que j'ouvre avec l'objet getopenfilename et je n'ai aucune notion sur le sujet. Pour l'instant l'instruction que j'ai écrite est:

Sub macro()
dim source
source = Application.Workbooks.Open(Application.GetOpenFilename())
end sub

Naturellement, cela me crée un bug. Pourquoi et comment déboger alors?
Merci d'avance!
0
nicodoudou Messages postés 48 Statut Membre 44
 
En fait il fqut que tu le fasses en deux étapes:


Sub macro()
Dim source
fileToOpen = Application .GetOpenFilename(°

source = ActiveWorkbook.Name


End Sub

A+

Nico
0
ariel
 
bonjour et merci Nico!
Il faut dire qu'en vous soumettant mes difficultés je n'arrête pas de chercher les solutions de mon côté également. Je me suis rendu compte de l'option "le faire en deux étapes" et voici ma macro:

sub macro()
dim source
Application.Workbooks.Open Application.GetOpenFilename()
source = ActiveWorkbook.Name
end sub.

Elle marche mais j'ai un tout petit problème avec la vôtre: elle ne me permet d'ouvrir le fichier désiré. Ainsi, elle affecte à la variable "source" le nom d'un autre classeur actif au moment de l'exécution de la macro.
Ce que j'aimerai comprendre c'est le rôle de "fileToOpen". J'ai également lu dans un tutoriel que pour pouvoir travailler avec deux classeurs simultanément il faut écrire la macro suivante:

sub macro
dim objworkbooksource, objworkbookcible
set objworkbooksource=application.workbook.open(application.getopenfilename)
set objworkbookcible=application.workbooks.add
...
end sub

Pouvez-vous m'expliquer littéralement cette macro? A quoi sert le "set"?
J'ai essayé de résoudre le problème que je vous ai posé avec cette macro. L'instruction est exécutée mais apparemment elle n'affecte aucune donnée aux variables.
Pourquoi?
Merci d'avance.
0
Neverend Messages postés 21 Statut Membre 81
 
Bonjour,

Le Set permet de créer un objet et de l'instancier.


0