Comment convertir une macro excel en VBA

teamtat

XLDnaute Occasionnel
Quelqu'un pourrez m'aider a traduire ce code, je suis débutant en visual basic et je rame a mort
merci pour votre aide

MAJ_FORMULAIRE_IV
=ECRAN(FAUX)
=ERREUR(VRAI)
=POSER.VALEUR($C$5;LIRE.DOCUMENT(88)) TX_Asc_Controle_final_LB_v68.xls
*** Mot de passe 0178
*** Nom de la feuille Page de garde Page de garde
*** Nom de la feuille Page de garde modèle Page de garde modèle
*** Nom de la feuille Contrôles Les controles
*** Nom de la feuille Guide Guide
*** Nom de la feuille Dernière page Dernière page
*** Nom de la feuille récupération des saisies Saisie
*** Nom de la feuille Masque saisie Masque saisie
*** Nom de la feuille Base de contrôle Base de contrôle
*** Nom de la feuille Tableau base Tableau base
*** Nom de la feuille Temp Temp
*** Nom de la feuille Tables 82-212.312 Tables 82-212.312
=LIRE.DOCUMENT(2)
=POSER.VALEUR(C$19;DEREF(B18)) C:\Documents and Settings\Luc\Bureau
=PROTECTION.CLASSEUR(FAUX;VRAI;$C$6)
=AFFICHER.CLASSEUR($C$9)
=AFFICHER.CLASSEUR($C$12)
=AFFICHER.CLASSEUR($C$14)
=AFFICHER.CLASSEUR($C$15)
=AFFICHER.CLASSEUR($C$17)





=ACTIVER($C$12)
=SELECTIONNER("L9C3")
=LIRE.CELLULE(5) VRAI
=POSER.VALEUR($C$33;DEREF(B33))
=ACTIVER($C$13)
=SI($C$33=FAUX)
=ALERTE("Remplissez tous les champs !";2)
=MASQUER.CLASSEUR($C$9)
=MASQUER.CLASSEUR($C$12)
=MASQUER.CLASSEUR($C$14)
=MASQUER.CLASSEUR($C$15)
=MASQUER.CLASSEUR($C$17)
=PROTECTION.CLASSEUR(VRAI;VRAI;$C$6)
=ARRETER(VRAI)
=FIN.SI()



=ACTIVER($C$12)
=SELECTIONNER("L15C4:L76C5")
=BASE.DE.DONNEES() Définition zone Base de données
=SELECTIONNER("L20C7:L80C8")
=EFFACER(3)

=EXTRACTION() Définition zone Extraction
=SELECTIONNER("L15C7:L16C8")
=CRITERES() Définition zone Critères
=SELECTIONNER("L16C8")
=FORMULE(">=1") Critère de recherche
=EXTRAIRE(VRAI) Extraction des différents paragraphes

=SELECTIONNER("L1C3")
=LIRE.CELLULE(5)
=POSER.VALEUR($C$64;DEREF(B63)) Electrique Hydraulique ou électrique ?
=SI($C$64="Electrique";POSER.VALEUR($C$65;"E");POSER.VALEUR($C$65;"H")) E

=SELECTIONNER("L1C4")
=LIRE.CELLULE(5)
=POSER.VALEUR($C$69;DEREF(B68)) Traction à tambour Tambour ou adhérence ?
=ACTIVER($C$13)

=MASQUER.CLASSEUR($C$9)
=MASQUER.CLASSEUR($C$12)
=MASQUER.CLASSEUR($C$14)
=MASQUER.CLASSEUR($C$15)
=MASQUER.CLASSEUR($C$17)
=PROTECTION.CLASSEUR(VRAI;VRAI;$C$6)

=RETOUR()

MAJ_FORMULAIRE
=MAJ_FORMULAIRE_IV()
=MESSAGE(VRAI;"Veuillez patienter un instant…")
=PROTECTION.CLASSEUR(FAUX;VRAI;$C$6)

=AFFICHER.CLASSEUR($C$9)
=AFFICHER.CLASSEUR($C$12)
=AFFICHER.CLASSEUR($C$14)
=AFFICHER.CLASSEUR($C$15)
=AFFICHER.CLASSEUR($C$17)

=ERREUR(FAUX)
=ACTIVER($C$16)
=SUPPRIMER.CLASSEUR($C$16)
=ERREUR(VRAI)

=COPIE.CLASSEUR("Feuille vide";$C$5; )
=NOMMER.CLASSEUR("Feuille vide (2)";$C$16)

=ACTIVER($C$9)
=SELECTIONNER("L1:L3500")
=EDITION.SUPPRIMER(3)

=POUR("num";21;90;1)
=ACTIVER($C$12)
=SELECTIONNER("L"&num&"C7")
=LIRE.CELLULE(5)
=POSER.VALEUR($C$108;DEREF(B107)) 0

=ACTIVER($C$15)
=POUR("ligne";2;$C$276+1;1)
=SELECTIONNER("L"&ligne&"C1")
=SI(SELECTION()=$C$108) test numéro de norme
=SELECTIONNER("L"&ligne&"C10")
=SI(OU(SELECTION()=$C$65;SELECTION()="M")) pb : recupérer nb de lignes deja insérées

=SELECTIONNER("L"&ligne&"C11")
=POSER.VALEUR($C$118;DEREF(B117)) VRAI arborescence






=SELECTIONNER("L"&ligne&"C1:L"&ligne&"C11")
=COPIER()

=ACTIVER($C$16)
=SEL.DERNIERE.CELLULE()
=POSER.VALEUR($C$130;CELLULE("ligne";SELECTION())) 64
=SELECTIONNER("L"&$C$130+1&"C1")
=COLLER()
=ACTIVER($C$15)


=FIN.SI()
=FIN.SI()
=SUIVANT()
=SUIVANT()

=ACTIVER($C$16)
=SELECTIONNER("L2C1:L"&C130+1&"C9")
=COPIER()

=ACTIVER($C$9)
=SELECTIONNER("L1C1")
=COLLER()

=SELECTIONNER("L1C1:L"&C130+1&"C11") Boucle de suppression des lignes doublées
=TRIER(1;"C2";1;"C6";1;;;2;1;)
=POSER.VALEUR($C$151;0) 3
=POUR("Del";$C$130;2;-1)
=SELECTIONNER("L"&Del&"C2")
=POSER.VALEUR($C$154;SELECTION()) CUV
=SELECTIONNER("L"&Del-1&"C2")
=POSER.VALEUR($C$156;SELECTION()) CUV
=SELECTIONNER("L"&Del&"C6")
=POSER.VALEUR($C$158;SELECTION()) - Réserve (i), en manœuvre inspection, un fin de course inspection arrête le cabine à une distance d'au moins 1,50 m entre les parties les plus basses de la cabine et le fond de la cuvette ?
=SELECTIONNER("L"&Del-1&"C6")
=POSER.VALEUR($C$160;SELECTION()) - Réserve (i), en manœuvre inspection, un fin de course inspection arrête le cabine à une distance d'au moins 1,50 m entre les parties les plus basses de la cabine et le fond de la cuvette ?

=SI(ET($C$154=$C$156;$C$158=$C$160))
=SELECTIONNER("L"&Del)
=EDITION.SUPPRIMER(3)
=POSER.VALEUR($C$151;$C$151+1)
=FIN.SI()
=SUIVANT()
=POSER.VALEUR($C$168;$C$130-$C$151) 61

=SELECTIONNER("L1C1:L"&C168+1&"C11")
=TRIER(1;"C2";1;"C3";1;"C4";1;2;1;)

=SELECTIONNER("L1C6:L"&C$168+1&"C9")
=ZONE.IMPRESSION()
=SUPPRIMER.SAUT.DE.PAGE(SELECTION())
=ACTIVER($C$9)
=POSER.VALEUR($C$181;0)
=POSER.VALEUR($C$182;0)
=POSER.VALEUR($C$184;0) =POSER.VALEUR($C$181;$C$168)
=POSER.VALEUR($C$186;1)
=POUR("ligne";1;$C$168+1;1) 0 Valeur ligne dernier saut de page
=SELECTIONNER("L"&ligne&"C5") 55 Valeur ligne saut de page nécessaire
=SI(SELECTION()=1;POSER.VALEUR($C$182;ligne))
=POSER.VALEUR($C$184;$C$184+LIRE.CELLULE(17;SELECTION())) 554,25 Hauteur des lignes depuis le saut de page
=SELECTIONNER("L"&ligne&"C5")
=SI(ET(SELECTION()=1;$C$186<>ligne-1);POSER.VALEUR($C$186;ligne);) 55 Valeur ligne dernier entete possible



=SI($C$184>700) Nb ligne pour saut de page
=POSER.VALEUR($C$186;$C$182)
=SELECTIONNER("L"&$C$186&"C6")
=SAUT.DE.PAGE()
=POSER.VALEUR($C$184;0)
=POUR("reprise";$C$186;ligne;1)
=SELECTIONNER("L"&reprise&"C1")
=POSER.VALEUR($C$184;$C$184+LIRE.CELLULE(17;SELECTION()))
=SUIVANT()
=FIN.SI()

=SUIVANT()
=MASQUER.CLASSEUR($C$9)
=MASQUER.CLASSEUR($C$12)
=MASQUER.CLASSEUR($C$14)
=MASQUER.CLASSEUR($C$15)
=MASQUER.CLASSEUR($C$17)
=MESSAGE(FAUX;)
=PROTECTION.CLASSEUR(VRAI;VRAI;$C$6)

=RETOUR()

MAJ_Tableau
=ECRAN(FAUX)
=ACTIVER($C$15)
=SUPPRIMER.CLASSEUR($C$15)
=ERREUR(VRAI)

=COPIE.CLASSEUR("Feuille vide";$C$5; )
=NOMMER.CLASSEUR("Feuille vide (2)";$C$15)
=AFFICHER.CLASSEUR($C$15)


=ACTIVER($C$14)
=SELECTIONNER("L2C7")
=FORMULE("=COLONNES(Base)")
=LIRE.CELLULE(5)
=POSER.VALEUR($C$227;DEREF(B226)) 50 Nombre de colonnes dans la base
=SELECTIONNER("L1C7")
=FORMULE("=LIGNES(Base)")
=LIRE.CELLULE(5)
=POSER.VALEUR($C$231;DEREF(B230)) 555 Nombre de ligne dans la base
*** Numéro de colonne de début de base 10
*** Numéro de ligne de début de base 5
=ACTIVER($C$14)


=POUR("colonne";$C$232;$C$232+$C$227;1)
=SELECTIONNER("L1C"&colonne)
=FORMULE("=nbval(L"&$C$233&"C"&colonne&":L"&$C$231+$C$233&"C"&colonne&")")
=LIRE.CELLULE(5)
=POSER.VALEUR($C$241;DEREF(B240)) 0

=POUR("ligne";$C$233;$C$233+$C$231;1)

=SELECTIONNER("L"&ligne&"C"&colonne)
=SI(SELECTION()=1)

=SI($C$241>0)
=SELECTIONNER("L"&$C$233-1&"C"&colonne)
=COPIER()
=ACTIVER($C$15)
=SEL.DERNIERE.CELLULE()
=SELECTIONNER("L"&CELLULE("ligne";SELECTION())+1&"C1")
=COLLER()
=ACTIVER($C$14)
=SELECTIONNER("L1C"&colonne)
=FORMULE("="&SELECTION()-1)
=LIRE.CELLULE(5)
=POSER.VALEUR($C$241;DEREF(B258))
=FIN.SI()

=SELECTIONNER("L"&ligne&"C1:L"&ligne&"C9")
=COPIER()
=ACTIVER($C$15)
=SEL.DERNIERE.CELLULE()
=SELECTIONNER("L"&CELLULE("ligne";SELECTION())&"C2")
=COLLER()

=FIN.SI()
=ACTIVER($C$14)
=SUIVANT()
=SUIVANT()

=ACTIVER($C$15)
=SEL.DERNIERE.CELLULE()
=POSER.VALEUR($C$276;CELLULE("ligne";SELECTION())) 3083
=POUR("ligne";1;$C$276;1)
=SELECTIONNER("L"&ligne&"C11")
=FORMULE("=concatener(L"&ligne&"C3;L"&ligne&"C4)")
=SUIVANT()


=RETOUR()


Impression_INV
=PROTECTION.CLASSEUR(FAUX;VRAI;$C$6)
=ECRAN(FAUX)
=ERREUR(FAUX)

=AFFICHER.CLASSEUR($C$7)
=AFFICHER.CLASSEUR($C$8)
=SUPPRIMER.CLASSEUR($C$7)
=COPIE.CLASSEUR($C$8;$C$5)
=NOMMER.CLASSEUR("Page de garde modèle (2)";$C$7)


=MASQUER.CLASSEUR($C$8)
=ACTIVER($C$7)
=POUR("ligne";99;47;-1)
=SELECTIONNER("L"&ligne&"C1")
=SI(OU(SELECTION()="";ESTNA(SELECTION())))
=SELECTIONNER("L"&ligne)
=EDITION.SUPPRIMER(3)
=FIN.SI()
=SUIVANT()
=SUPPRIMER.SAUT.DE.PAGE()
=APERCU.IMPRESSION() =SI($C$403;APERCU.IMPRESSION();IMPRIMER())
=MASQUER.CLASSEUR($C$7)
=ACTIVER($C$13)
=PROTECTION.CLASSEUR(VRAI;VRAI;$C$6)
=RETOUR()


Impression
=Impression_INV()
=PROTECTION.CLASSEUR(FAUX;VRAI;$C$6)


=ACTIVER($C$12) IMPRESSION GUIDE
=SELECTIONNER("L1C3")
=LIRE.CELLULE(5)
=POSER.VALEUR($C$64;DEREF(B322))
=SELECTIONNER("L1C4")
=LIRE.CELLULE(5)
=POSER.VALEUR($C$69;DEREF(B325))
=SELECTIONNER("L16C11")
=LIRE.CELLULE(5)
=POSER.VALEUR($C$329;DEREF(B328)) 0 Test si TI1.1
=SELECTIONNER("L17C11")
=LIRE.CELLULE(5)
=POSER.VALEUR($C$332;DEREF(B331)) 0 Test si TI5.1
=SELECTIONNER("L18C11")
=LIRE.CELLULE(5)
=POSER.VALEUR($C$335;DEREF(B334)) 0 Test si TI5.2
=SELECTIONNER("L19C11")
=LIRE.CELLULE(5)
=POSER.VALEUR(C338;DEREF(B337)) 1 Test si TI11.2
=SELECTIONNER("L20C11")
=LIRE.CELLULE(5)
=POSER.VALEUR(C341;DEREF(B340)) 0 Test si TI1.2
=SELECTIONNER("L21C11")
=LIRE.CELLULE(5)
=POSER.VALEUR(C344;DEREF(B343)) 0 Test si TI2
=SELECTIONNER("L22C11")
=LIRE.CELLULE(5)
=POSER.VALEUR(C347;DEREF(B346)) 0 Test si TI3
=SELECTIONNER("L23C11")
=LIRE.CELLULE(5)
=POSER.VALEUR(C350;DEREF(B349)) 0 Test si TI8
=SELECTIONNER("L24C11")
=LIRE.CELLULE(5)
=POSER.VALEUR(C353;DEREF(B352)) 0 Test si TI12
=SELECTIONNER("L25C11")
=LIRE.CELLULE(5)
=POSER.VALEUR(C356;DEREF(B355)) 0 Test si TI 13.1
=SELECTIONNER("L26C11")
=LIRE.CELLULE(5)
=POSER.VALEUR(C359;DEREF(B358)) 0 Test si SAE13
=AFFICHER.CLASSEUR($C$10)
=ACTIVER($C$10)
=SI(ET(OU($C$329=1;$C$331=1;$C$335=1;$C$338=1);$C$64="Electrique";$C$69="Traction à adhérence");IMPRIMER(2;1;4;1;FAUX;VRAI;1);)
=SI(ET(OU($C$329=1;$C$331=1;$C$335=1;$C$338=1);$C$64="Electrique";$C$69="Traction à tambour");IMPRIMER(2;1;2;1;FAUX;VRAI;1);)
=SI(ET(OU($C$329=1;$C$331=1;$C$335=1;$C$338=1);$C$64="Electrique";$C$69="Traction à tambour");IMPRIMER(2;5;6;1;FAUX;VRAI;1);)
=SI(ET(OU($C$329=1;$C$331=1;$C$335=1;$C$338=1);$C$64="Hydraulique");IMPRIMER(2;7;10;1;FAUX;VRAI;1);)
=SI(ET(OU($C$329=1;$C$331=1;$C$335=1;$C$338=1);$C$64="Hydraulique";$C$69="Traction à tambour");IMPRIMER(2;5;6;1;FAUX;VRAI;1);)

=SI(OU($C329;$C$338;$C$341;$C$344;$C$347;$C$350;$C$353;$C$356;$C$359);IMPRIMER(2;11;11;1;FAUX;VRAI;1);) FIN IMPRESSION GUIDE
=SI($C$344;IMPRIMER(2;12;12;1;FAUX;VRAI;1);)
=SI(ET($C$344;$C$64="Hydraulique");IMPRIMER(2;12;12;1;FAUX;VRAI;1);)
=MASQUER.CLASSEUR($C$10)
=AFFICHER.CLASSEUR($C$11)
=ACTIVER($C$11) IMPRESSION DERNIERE PAGE
=IMPRIMER(1;;;1;FAUX;VRAI;1)
=MASQUER.CLASSEUR($C$11)
=AFFICHER.CLASSEUR($C$9)
=ACTIVER($C$9) IMPRESSION CONTROLES
=IMPRIMER(1;;;1;FAUX;VRAI;1)
=MASQUER.CLASSEUR($C$9)
=ACTIVER($C$13)
=PROTECTION.CLASSEUR(VRAI;VRAI;$C$6)

=RETOUR()

Remise_à_zéro

=ACTIVER($C$12)
=SELECTIONNER("L2")
=EFFACER()
=ACTIVER($C$13)
=SELECTIONNER("L4C3;L4C5;L4C7;L13C3")
=EFFACER()
=SELECTIONNER("L4C3")




=RETOUR()


Aperçu

=POSER.VALEUR($C$403;VRAI) FAUX
=Impression()
=POSER.VALEUR($C$403;FAUX)
=RETOUR()

Auto_ouvrir

=Menu_Montage()
=ACTIVER($C$12) Effacement données précédentes
=SELECTIONNER("L2C1:L2C72")
=EFFACER(3)
=ACTIVER($C$13)


=SELECTIONNER("L4C5")
=EFFACER(3)
=SELECTIONNER("L4C3")
=EFFACER(3)
=RETOUR()


Auto_fermer

=Menu_Démontage()
=FICHIER.FERMER(FAUX)
=RETOUR()


Menu_Montage

=LIRE.BARRE()
=POSER.VALEUR(C$434;DEREF(B433)) 10
=POSER.NOM("Barrebase";DEREF(B433))
=SI(Barrebase<>10;RETOUR())
=ERREUR(FAUX)
=POUR("Boucle";9;15)
=SUPPRIMER.MENU(Barrebase;9)
=SUIVANT()
=ERREUR(VRAI)
=AJOUTER.MENU(Barrebase;Menu_THYSSEN)
=AFFICHER.BARRE(Barrebase)

=RETOUR()



Menu_Démontage

=SUPPRIMER.MENU(Barrebase;9)
=AFFICHER.BARRE(Barrebase)

=RETOUR()


Nom du menu Nom de la commande associée Raccourci
&*Contrôle Modern
&1 Valider le formulaire CT Macros!MAJ_FORMULAIRE
&2 Aperçu avant impression Macros!Aperçu
&3 Imprimer CT Macros!Impression
&4 Valider le formulaire IV Macros!MAJ_FORMULAIRE_IV
&5 Imprimer IV Macros!Impression_INV
&6 Remise à zéro Macros!Remise_à_zéro


-
Démonter ce menu Macros!menu_Démontage







=PAS.A.PAS()
=ARRETER()
 

mutzik

XLDnaute Barbatruc
Re : Comment convertir une macro excel en VBA

bonjour,

j'ai jamais essayé, mais si tu ouvres ton fichier en 2007, tu actives l'enregistrement de macro, puis tu lances les macros 2004

comme dit, jamais essayé mais cela vaut peut-être le coup
 

Minick

XLDnaute Impliqué
Re : Comment convertir une macro excel en VBA

Salut,

mutzik, l'enregistreur ne donnera rien mis a part le lancement de la macro.

Il y a longtemps que je n'ai pas fais de macro xl4, si tu peux mettre ton fichier je peux essayer (j'ai l'impression que plus d'une colonne se trouve sur une meme ligne de code...).
Si tu veux j'ai le fichier d'aide mais compresse il fait plus de 500ko donc se sera par mail.
 

Minick

XLDnaute Impliqué
Re : Comment convertir une macro excel en VBA

Re,

Pour joindre un fichier.

quand tu rediges ton message, un peu plus bas tu as Options complementaires et dans
cette zone il y a un bouton "Gerer les pieces jointes".


Je t'ai envoye un mail pour le fichier d'aide.
 

Discussions similaires

Réponses
0
Affichages
133

Statistiques des forums

Discussions
312 083
Messages
2 085 188
Membres
102 809
dernier inscrit
Sandrine83