[résolu] Comment utiliser fichier macro créé sous excel 2003 dans excel 2007 ou 2010

bidouill

XLDnaute Nouveau
Bonjour tout le monde

Travaillant pour l'instant avec excel 2003 je me suis créé pour mon travail une série de Macro (Visual Basic Editor) que j'utilise ensuite avec un menu que j'ai créé.
J'ai donc un fichier PERSO.XLS dans lequel j'ai enregistré l'ensemble de mes Macro comme ci-dessous.
2013-12-04_122225.jpg

et les menus déroulant sont les suivant :

2013-12-04_122420.jpg

Ces macros me permettent de copier directement des textes qui sont utilisés souvent dans la création de "devis". Ce n'est pas vraiment un devis mais un état des pertes pour la reconstruction d'un bâtiment suite à sinistre.
2013-12-04_122635.jpg

suivant le bouton cela peut écrire seulement un texte dans la case sélectionnée comme pour l'exemple ci-dessus mais cela peut aussi écrire des informations dans plusieurs cellules différentes en même temps comme ci-dessous :

ykaa.jpg
[/URL][/IMG]
en cliquant sur la macro baignoire par exemple j'ai tout le texte qui s'écrit automatiquement en commençant dans la cellule sélectionnée comme ci-dessus.

Je dois passer sous excel 2007 et surtout mes collègues sont déjà sous 2007.

quelle est la solution pour convertir tout ce boulot fait sous 2003 afin qu'il puisse être utilisé sous 2007 ou 2010. Sinon est ce que quelqu'un à une idée pour utiliser cette méthode sous 2007 car ce menu déroulant avec les bouton est super importaznt pour moi cela me fait gagner un temps très précieux. Il y a surement d'autre méthode plus simple même si je dois recopier les macro .

Merci d'avance pour votre aide précieuse.

Cordialement

Patrick
 

Pièces jointes

  • 2013-12-04_123814.jpg
    2013-12-04_123814.jpg
    82.1 KB · Affichages: 205
Dernière édition:

Misange

XLDnaute Barbatruc
Re : Comment utiliser fichier macro créé sous excel 2003 dans excel 2007 ou 2010

Bonjour
A priori aucun boulot à faire.
Tu ouvres ton classeur dans 2007 et tu vas retrouver ton menu dans un onglet nommé compléments, avec ses différents boutons.
Il y a quelques différences de code entre 2003 et 2007, mais rien d'insurmontable. Cela concerne en particulier les tris, les filtres les graphiques et l'ouverture de fichiers par macro mais sinon c'est kif kif.
Si ton classeur n'est pas confidentiel tu peux le joindre ici en allant dans le mode avancé en bas à droite de cette fenêtre puis en cliquant sur le trombone pour aller chercher ton classeur dur ton disque dur. On te dira ce qu'on voit avec des versions ultérieures.
 

bidouill

XLDnaute Nouveau
Re : Comment utiliser fichier macro créé sous excel 2003 dans excel 2007 ou 2010

déjà merci beaucoup pour cette réponse rapide.

le fichier macro est joint c'est donc mes boutons du menu déroulant qui se rapportent au macro de ce fichier... ok c'est un peu le bordel dedans :)

J'ai une macro qui est très importante pour moi c'est celle du module 10 est qui est :
Sub calcul_quantite()
'
' calcul_quantite Macro
' Macro enregistrée le 02/02/2005 par
'

'
ActiveCell.FormulaR1C1 = "=EVAL(RC[-1])"
ActiveCell.Offset(1, 0).Range("A1").Select
End Sub

elle est associé à un bouton qui dans la colonne quantité (B) va tout simplement mettre la formule =EVAL(A10) qui faire le calcul de la formule dans la case A (voir l'exemple)
http://imageshack.com/photo/my-images/15/q2pp.jpg/

d'autre part j'ai un fichier excel "métré" que je pourrais peut-être utiliser comme précédent mais je ne sais pas comment. Peut être un menu déroulant par exemple "maçonnerie" avec les intitulés qui va chercher dans la base de données existantes mais là je sèche complètement.

encore merci
 

Pièces jointes

  • PERSO.XLS
    284 KB · Affichages: 100
  • PERSO.XLS
    284 KB · Affichages: 94
  • PERSO.XLS
    284 KB · Affichages: 85
  • Base de données métré excel.xls
    714 KB · Affichages: 387

Misange

XLDnaute Barbatruc
Re : Comment utiliser fichier macro créé sous excel 2003 dans excel 2007 ou 2010

Bonjour

Aucun problème avec tes macros, que tu peux d'ailleurs grandement simplifier :
l'enregistreur de macros est extrêmement bavard et donne tout plein de détails dont on n'a pas besoin
par exemple :

Code:
Sub déduction_ouverture()
'
' déduction_ouverture Macro
' Macro enregistrée le 8/03/2004 par PFOUILLOUX
'
'
    ActiveCell.FormulaR1C1 = "Déduction ouverture"
    With ActiveCell.Characters(Start:=1, Length:=19).Font
        .Name = "Times New Roman"
    Selection.Font.Italic = True
        .Size = 12
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = xlAutomatic
    
 ActiveCell.Offset(1, 0).Range("A1").Select
   
    End With

devient

Code:
Sub déduction_ouverture2()
' Macro enregistrée le 8/03/2004 par PFOUILLOUX
    ActiveCell = "Déduction ouverture"  'un texte n'est pas une formule, pas besoin donc de mettre .FormulaR1C1 :)
    With ActiveCell.Font
        .Name = "Times New Roman"
        .Italic = True
        .Size = 12
    End With
    ActiveCell.Offset(1, 0).Select
End Sub

Avec excel 2007 et plus, il y a une fonctionnalité que peu de gens utilisent mais qui est pourtant bien pratique pour toi : les styles. Tu peux définir des styles comme (gras+italique+rouge avec un format de nombre -0.00). Plusieurs de tes macros correspondent en fait à l'utilisation d'un style.

Tu dis que tu vas passer à 2007. C'est 2007 vraiment ou plutôt 2010 ou 2013 ? Les versions 2007 et 2013 ne sont déjà plus commercialisées.

Le problème en passant à 2007 et + n'est pas tant pour toi les macros que la façon d'y accéder.

Avec 2007 tu as peu de possibilités pour personnaliser l'interface simplement.
Tu peux mettre des boutons dans la barre d'accès rapide, que tu places à ton choix tout en haut de la fenêtre ou en dessous du ruban. Tu lies alors ces boutons à tes macros placées dans le personnal.xlsb qui remplace le perso.xls en remplissant les mêmes fonctions.
Avec excel 2010 et +, tu peux créer un onglet personnalisé dans lequel tu places tes boutons que tu relies à tes macros, elles aussi placées dans le personal.xlsb.
 

bidouill

XLDnaute Nouveau
Re : Comment utiliser fichier macro créé sous excel 2003 dans excel 2007 ou 2010

merci à toi je vais regarder ça de plus près.

Si je veux utiliser le fichier excel "métré" tu me conseilles quelle méthode pour me simplifier la tache

Merci d'avance
 

Misange

XLDnaute Barbatruc
Re : Comment utiliser fichier macro créé sous excel 2003 dans excel 2007 ou 2010

Comme je ne sais pas trop comment tu fais ta tâche dans ce classeur je ne peux pas bien non plus savoir comment te la simplifier :)

Tu as d'autres solutions que les macros pour mettre des libellés dans une cellule:
Tu peux par exemple mettre la liste des libellés possible dans un tableau quelque part sur une autre feuille, et utiliser cette liste comme liste de validation. Dans la cellule où dois faire la saisie apparait alors un petit menu déroulant dans lequel tu choisis la valeur.
La cellule peut être préformatée.
Quand tu seras passé en 2007 (2013 ?) reviens et on verra ce qui peut être fait.
 

bidouill

XLDnaute Nouveau
Re : Comment utiliser fichier macro créé sous excel 2003 dans excel 2007 ou 2010

Merci à toi
en fait dans un fichier excel j'ai des onglets par corps d'état. dans la colonne A "désignation" je selectionne céllule vide et avec un bouton macro cela m'écrit le texte.
Je vais installer 2007 (pas encore 2010 dans la boite)
 

bidouill

XLDnaute Nouveau
Re : Comment utiliser fichier macro créé sous excel 2003 dans excel 2007 ou 2010

je viens de passer sous 2007.
comment transformer mon fichier macro afin qu'il soit utilisable dans mon fichier de travail (différent du fichier perso)? et aussi sous 2003 j'avais un menu déroulant que je pouvais sauvegarder sous le nom Excel11.xlb et mon fichier macro dans le répertoire XLSTART?
merci d'avance
 

Misange

XLDnaute Barbatruc
Re : Comment utiliser fichier macro créé sous excel 2003 dans excel 2007 ou 2010

"en fait dans un fichier excel j'ai des onglets par corps d'état. dans la colonne A "désignation" je selectionne céllule vide et avec un bouton macro cela m'écrit le texte."
Il n'y a priori pas besoin de macros pour faire ce que tu souhaites. Une validation de données est suffisante.
En fonction de ce que j'ai compris, j'ai commencé à te faire un petit exemple sur la première feuille.
J'ai ajouté une feuille "data" dans laquelle j'écris en A1 un titre en haut de colonne, par exemple gros_oeuvre
puis en dessous, surtout sans espaces, tout ce qui doit apparaitre comme choix possible.
J'ai transformé cette liste en tableau excel :
tu sélectionnes A1, onglet accueil/Style/mettre sous forme de tableau
Tout ce que tu ajouteras par la suite dans la première ligne vide juste sous ce tableau s'y intégrera automatiquement.

Dans la feuille 1, j'ai aussi mis tes données sous forme de tableau.
Evite les lignes vides. Mieux vaut ajuster les hauteurs de lignes si tu veux absolument mettre des séparateurs mais dans excel, fusionner des cellules ou ajouter des lignes vides uniquement pour une raison esthétique est en général une mauvaise idée, ça met le bazar dans des formules, dans les tableaux...

Pour te montrer l'utilisation qu'on peut faire des listes de validation, j'ai ajouté une colonne dans ce tableau de la feuille 1
J'ai sélectionné la colonne : avec un tableau c'est extrêmement facile : tu mets la souris en haut de la colonne et quand le curseur se transforme en flèche, tu cliques et toute la colonne jusqu'en bas est sélectionnée sans oublier de cellules.
Ensuite dans l'onglet validation, j'ai sélectionné "validation des données".
Dans la fenêtre qui s'ouvre au lieu de "tout" j'ai choisi "liste"
et dans "source" j'ai cliqué sur le petit dessin à droite ce qui m'a permis avec la souris d'aller sélectionner sur la feuille data ma liste (même chose : tu positionnes la souris en haut, tu cliques)
OK

Maintenant dans cette colonne, quand tu cliques tu as une liste de validation qui s'ouvre et tu choisis ce que tu veux.
A chaque fois que tu ajoutes (ou enlèves) un élement dans ta liste de la feuille Data, celui ci s'ajoute aux listes de validation de la feuille 1. C'est bien plus rapide que de faire une macro et en plus tu n'as pas besoin de déplacer la souris pour aller cliquer sur un bouton.

Tu peux faire autant de listes différentes que tu veux dans un classeur.
Regarde si ça te convient comme ça.

Pour tes autres questions je te renvoie à mes réponses précédentes ! les menus d'excel 2003 n'apparaissent plus comme des menus dans 2007. Excel11.xlb est un fichier dont tu ne peux rien faire maintenant. Il décrit la structure de tes menus (pas seulement le personnalisé). Cette structure a complètement changé avec le ruban et ce n'est plus compatible. Tes macros restent compatibles mais tu ne peut plus les utiliser via ce menu. Mes explications précédentes n'étaient peut être pas très claires :)

[edit : avec le fichier c'est mieux !]
 

Pièces jointes

  • Base de données métré excel.xlsx
    250.6 KB · Affichages: 88
Dernière édition:

bidouill

XLDnaute Nouveau
Re : Comment utiliser fichier macro créé sous excel 2003 dans excel 2007 ou 2010

bonsoir
je ne comprends pas car dans la colonne que tu as ajouté sur la feuille "01.GROS OEUVRE MACONNERIE" je n'ai seulement indiqué exemple en gris et si j'ouvre le menu déroulant j'ai rien.
Sinon mon soucis est que dans la colonne désignation je dois pouvoir écrire des opérations (exemple dimension du mur)
J'ai refais un fichier excel pour essayer d'être plus limpide.
dans le fichier excel j'ai 2 onglets :
- mon tableau "plâtrerie" dans lequel je dois mettre mes données
- la BDD qui elle n'est pas apparente.

Donc par exemple dans la colonne désignation j'ai besoin de mettre les infos complètes (je mets dessous les chiffres mais j'ai besoin des intitulés bien entendu) pour :
02.01.01
02.01.01.01
02.01.01.01.01

ce qui donnerait :
CLOISONS DE DOUBLAGE ET DE DISTRIBUTION
BRIQUES PLATRIERES
De 3,5 cm d'épaisseur.

et ensuite je dois pouvoir indiquer les mesures comme par exemple 2*(2.50+4.50)*2.50

ensuite j'ai un nouvelle intitulé

tout ça dans la colonne "désignation"

dans la colonne "quantité" en face de la formule j'utilisais la fonction Eval (voir mon précédent poste) qui donne le résultat de ma formule ce qui est bien pratique car si je change un chiffre dans la formule le total change et le total est calculé automatiquement.

j'ai formaté ma BDD en tableau en retirant les ligne vide et en décalant les indexes dans des colonnes différentes (mais il fallait peut-être pas faire comme ça)

encore merci pour ton aide précieuse
 

Pièces jointes

  • essai platrerie.xlsx
    50.6 KB · Affichages: 83

Misange

XLDnaute Barbatruc
Re : Comment utiliser fichier macro créé sous excel 2003 dans excel 2007 ou 2010

bonsoir
je ne comprends pas car dans la colonne que tu as ajouté sur la feuille "01.GROS OEUVRE MACONNERIE" je n'ai seulement indiqué exemple en gris et si j'ouvre le menu déroulant j'ai rien.

le choix ne se fait pas dans le mot exemple mais sur chacune des cellules de cette colonne ! C'est tout l'intérêt...
Pour le reste je regarderai un peu plus tard, les courses de Noel m'appellent :)

Faire en sorte que quand tu entres la quantité le prix de chaque item et le prix total s'affichent n'est vraiment pas un problème, c'est vraiment le plus simple à résoudre une fois que le reste fonctionne.

MAIS : en platrerie , que souhaites tu EXACTEMENT (donne moi un ou deux exemples !) pouvoir saisir automatiquement ? Les références de quel niveau (j'appelle niveau 1 les 02, niveau 2 les 02.01, niveau 3 les 02.01.02... etc) ?

Tu veux saisir les références (N°s) complètes et que les noms correspondants s'affichent ? Ca c'est enfantin mais j'imagine que tu ne connais pas par coeur les milliers de ref de ton classeur... Ca me semblerait plus logique de faire l'inverse sauf que le problème c'est que tu as souvent une même dénomination pour deux références différentes !
par exemple :
"en parties verticales" correspond à 02.03.05.01 mais aussi à 02.03.06.01 !

Pour obtenir un nom unique, il faudrait ajouter au moins le nom du niveau précédent., sinon les deux niveau précédents. Ca va faire des noms super longs, pas sure que ce soit très pratique....
 
Dernière édition:

Misange

XLDnaute Barbatruc
Re : Comment utiliser fichier macro créé sous excel 2003 dans excel 2007 ou 2010

Bonsoir

Une proposition en PJ, sans macro, avec des listes de choix qui dépendent les unes des autres du premier au 5° niveau. Cela dit cela ne va peut être pas faire ton affaire !
Dans la suite, j'appelle niveau 1 (N1) les références de type 02, 02b, 03
niveau 2 celles de type 02.01
niveau 3 celles de type 02.01.02
niveau 4 celles de type 02.01.02.03
et enfin niveau 5 les références complètes 02.01.02.03.05
(NB il y a beaucoup de redondance entre les niveaux 3 et 4. Peut être serait-il possible de ne faire qu'un niveau ?)

J'ai remanié ta base de données de façon à préciser pour chaque référence de niveau 5 tous ses niveaux "parents" sur une même ligne.
J'ai supprimé tout ce qui n'était pas des références complètes.
Ca te donne le tableau principal de la page bdd

J'ai ensuite créé des tableaux intermédiaires qui pour chaque niveau montrent la liste des références uniques et le niveau parent juste au dessus.
A partir de ces différents tableaux j'ai créé des noms définis (onglet formules gestionnaire de noms) qui sont ensuite utilisés pour créer (enfin !) les formules dans la validation de données :
dans le tableau sur la page choix, dans chacune des cellules du tableau, quand tu cliques tu as une petite flèche qui te permet de choisir un item de ce niveau (par exemple cloisons). Tu ne peux pas écrire directement dans la cellule. Pour faire cela, il faut sélectionner une cellule du tableau, aller dans l'onglet données/validation de données, choisir liste dans le menu déroulant au lieu de "tout" et puis mettre la formule qui va bien (un peu complexe et différente suivant le niveau, regarde dans le classeur).
Une fois que les 5 niveaux sont remplis, la référence est calculée ce qui permet de récupérer le prix et le total du tableau se calcule tout seul.


Je ne suis pas sure que ça te convienne parce que la présentation finale est forcément sous forme de tableau.
Et comme les intitulés de tes différents niveaux de référence sont assez longs, c'est pas forcément très pratique.
Si les tableaux (la base de données) est modifiée régulièrement, il peut être plus pratique de faire une macro pour mettre à jour les différents tableaux intermédiaires mais en ce moment je suis un peu trop short en temps pour m'en occuper :) (surtout que je ne suis pas sure que cette solution te convienne !). En tous cas ça m'a bien amusé de faire des listes dépendantes à 5 niveaux sans macros et sans utiliser la fonction indirect comme on le fait souvent.
 

Pièces jointes

  • Copie de essai platrerie.xlsx
    66.5 KB · Affichages: 82

bidouill

XLDnaute Nouveau
Re : Comment utiliser fichier macro créé sous excel 2003 dans excel 2007 ou 2010

Déjà merci à toi pour ton boulot. Je regarde ça rapidement et reviens vers toi. Je me demandais si je ne devrais pas épurer ma base de données pour avoir à chaque fois tout sur une ligne. Je vais regarder ça aussi.
De plus, sous excel 2007, à l'inverse de 2003, on ne peut pas créer ses propres menu déroulant avec à l'intérieur des boutons "macro". Et on ne peut pas sur le bouton mettre le nom du bouton au lieu d'un icône?
Encore mille merci pour ton implication
 

Misange

XLDnaute Barbatruc
Re : Comment utiliser fichier macro créé sous excel 2003 dans excel 2007 ou 2010

Avec excel 2007 il est franchement compliqué de faire un onglet personnalisé avec des boutons. Avec excel 2010 on peut facilement créer un onglet, y mettre des boutons reliés à des macros. Mais ce n'est pas ta version. Avec 2007 la solution simple c'est de mettre des boutons dans la bare d'accès rapide mais vu le nombre de boutons ou menus que tu avais dans excel 2003 c'est peu adapté.

C'est la raison pour laquelle je t'ai proposé cette solution.
Une bonne base de données regrope sur une seule ligne toutes les données correspondant à un élément. C'est bien plus simple que d'aller piocher tout ce qui correspond à l'élément (du niveau le plus fin) sur différentes lignes ou tableaux.

La solution que je te propose a un avantage : tu n'écris tes références qu'une seule fois et tu n'as plus rien à saisir manuellement à part les quantités.
Prends le temps de regarder tranquillement.
 

Discussions similaires

Réponses
2
Affichages
402

Statistiques des forums

Discussions
313 329
Messages
2 097 234
Membres
106 883
dernier inscrit
Papalo