Macro Excel 4 en VBA

Fermé
BOUBAOM Messages postés 31 Date d'inscription samedi 5 janvier 2013 Statut Membre Dernière intervention 30 janvier 2019 - Modifié par BOUBAOM le 5/01/2013 à 12:40
BOUBAOM Messages postés 31 Date d'inscription samedi 5 janvier 2013 Statut Membre Dernière intervention 30 janvier 2019 - 8 janv. 2013 à 18:07
Salut a tous, je recherche un moyen facile de transférer mes macros Excel 4 en VBA quelqu'un peut il m'aider ?

Question 1 "=RECHERCHER.SELECTION(EQUIPE.1;2;2;1;1;FAUX)" comment on fait ?

Question 2 Nommez un endroit précis pour pouvoir y mettre une fin ou le lancement autres macros ?

Question 3 "=SELECTIONNER("LC:L(21)C")" comment on l'obtient ?
Question 4 =SELECTION.ATTEINDRE("LC")

=SELECTION.ATTEINDRE("LC(-5):L(1)C(-1)")
=SELECTION.ATTEINDRE("LC:LC(1)")

Merci de me répondre et si vous ne savez pas me dire un site ou un livre pratique pour les faire.




A voir également:

9 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 5/01/2013 à 15:24
Bonjour

pour "=RECHERCHER.SELECTION(EQUIPE.1;2;2;1;1;FAUX)"

tu recherches la 2° cellule (findnext) portant la valeur "EQUIPE.1" (xlvalues) chaine complete(xlwhole) insensible à la casse (par défaut) , la recherche par colonne ou par ligne n'est pas utile

With ActiveSheet.Cells   
     Set cellule = .Find(what:="equipe.1", LookIn:=xlValues, lookat:=xlWhole)   
     Set cellule = .FindNext(cellule)


dans les 2 versions, il n'est pas tenu compte de la présences du texte "equipe.1"

le reste viendra + tard

Edit 15:18h
SELECTION.ATTEINDRE("LC(-5):L(1)C(-1)")
Range(ActiveCell.Offset(0, -5).Address & ":" & ActiveCell.Offset(1, -1).Address).Select 

meme punition pour les 2 autres

Nommez un endroit précis pour pouvoir y mettre une fin ou le lancement autres macros

pas compris la question

Bon WE
Michel
1
BOUBAOM Messages postés 31 Date d'inscription samedi 5 janvier 2013 Statut Membre Dernière intervention 30 janvier 2019
Modifié par BOUBAOM le 5/01/2013 à 19:20
Merci michel
alors EQUIPE.1 est le nom donner a une cellule dans une page differente, ca pourrai etre =RECHERCHER.SELECTION(BUTEURS!$H$5;2;2;1;1;FAUX)



Nommer un endroit de la VBA, cad ex: ligne 62 nommer FIN
comme ca en fonction de certaines formule ça ailles sur FIN et ça lance une autre macro ou que ca finisse celle la, je sais je suis pas très clair, je préférai les Macros Excel 4 la obliger de tout refaire j'en ai pour un moment si il y avait un site qui me le faisait automatiquement ca serai mieux
Mais déja un grand merci de m'avoir aidé
bon week a toi aussi
0
BOUBAOM Messages postés 31 Date d'inscription samedi 5 janvier 2013 Statut Membre Dernière intervention 30 janvier 2019
5 janv. 2013 à 21:55
Je dois être plus c.. que la moyenne, mais ca marche pas, alors si ca te dérange pas je vais te mettre la macro en entier:
MACRO.ATTEINDRE.EQUIPE.1
=EXECUTER(MACRO_ATTEINDRE_EQUIPE_DEPART;FAUX)
=RECHERCHER.SELECTION(DONNEES!$B$3;2;2;1;1;FAUX)
=SELECTION.ATTEINDRE("L(36)C")
=SELECTIONNER("L(-21)C(1)")
=PAGEH(-1)
=DEFILER.CLASSEUR(;FAUX)
=RETOUR()
Merci d'avance
0
BOUBAOM Messages postés 31 Date d'inscription samedi 5 janvier 2013 Statut Membre Dernière intervention 30 janvier 2019
6 janv. 2013 à 23:07
OUPS oublier
=SELECTIONNER("LC")
avant
=PAGEH(-1)
0
Raymond PENTIER Messages postés 58389 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 18 avril 2024 17 090
7 janv. 2013 à 13:43
"je recherche un moyen facile de transférer mes macros Excel 4 en VBA"
à ma connaissance cela n'existe pas.

Quand tu auras ton nouvel Excel, tu ouvriras chacun des fichiers et tu écriras les macros de nouveau.
0
BOUBAOM Messages postés 31 Date d'inscription samedi 5 janvier 2013 Statut Membre Dernière intervention 30 janvier 2019
7 janv. 2013 à 13:49
Si tu veux me les faire, PAS DE SOUCI ;)
0
Raymond PENTIER Messages postés 58389 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 18 avril 2024 17 090
8 janv. 2013 à 00:52
Dommage : je n'y connais rien en macros ...
0
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 856
8 janv. 2013 à 03:20
Bonsoir à tous,

Tu pourrais avantageusement faire une recherche sur macrofun.hlp qui existe en français et en anglais sur le site microsoft.
C'est moins efficace que michel_m mais tu as des équivalences VBA pour les macros xl4.
Je précise que je ne les ai pas testées.

Tu peux également utiliser certaines fonctions/macro XL4 (exemple : LIRE.CELLULE(6;!A7))
regarde ce post de XLD https://www.excel-downloads.com/threads/astuce-recente-lire-cellule.32955/

Cordialement
0

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

Posez votre question
BOUBAOM Messages postés 31 Date d'inscription samedi 5 janvier 2013 Statut Membre Dernière intervention 30 janvier 2019
8 janv. 2013 à 12:36
Merci pour tout michel, je vais essayer ce site
bonne journée a toi
0
BOUBAOM Messages postés 31 Date d'inscription samedi 5 janvier 2013 Statut Membre Dernière intervention 30 janvier 2019
8 janv. 2013 à 12:52
Bon la c clair, je suis plus con que la moyenne, j'y comprend rien ou ca marche pas, j'vais acheter une corde et me pendre :)
0
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 856
Modifié par JvDo le 8/01/2013 à 14:26
Bonjour,

2 exemples :

1) pour =RECHERCHER.SELECTION(DONNEES!$B$3;2;2;1;1;FAUX) :
tu récupères (ou tu as déjà) le fichier listevba.xls de correspondance entre commandes français/anglais.
tu vas dans l'onglet Fonctions Macro MS Excel 4.0
tu recherches RECHERCHER.SELECTION
en regard, tu trouves FORMULA.FIND
tu vas dans macrofun.hlp rubrique Visual Basic Equivalents for Macro Functions and Commands
tu recherches FORMULA.FIND et tu trouves :

FORMULA.FIND(text, in_num, at_num, by_num, dir_num, match_case)
et, en regard,

Cells.Find(what := text, after := ActiveCell, _ 
 lookIn := in_num, lookAt := at_num, _ 
 searchOrder := by_num, _ 
 searchDirection := dir_num, _ 
 matchCase := match_case).Activate


2) pour les fonctions LIRE.CELLULE() :
tu écris une formule en E7
tu te positionnes sur la ligne 7 et tu crées un nom "formule", par exemple, avec la définition =LIRE.CELLULE(6;!$E7))
Tu saisis =formule n'importe où sur la ligne 7 et tu obtiens la formule que tu as saisie en E7.
en jouant sur les $, tu obtiens le même résultat sur la colonne E ou sur toutes les cellules ou sur une cellule unique (celle qui t'aura servi pour définir le nom).

cordialement

PS : tu as aussi une méthode VBA : Application.ExecuteExcel4Macro, méthode qui exécute une fonction macro Microsoft Excel 4.0. C'est peut-être à creuser.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
8 janv. 2013 à 17:30
Bonjour,
De toutes façons, la logique est différente entre les macros XL4 et VBA (j'avais déjà communiqué pour Find et apparemment ça n'as pas marché suivant Boubaom). il va être particulièrement cass-g... et très long, m^me avec un bon niveau en VBA, de vouloir traduire XL4-VBA que de refaire en VBA, m^me si on comprend le sentiment de Boubaom de la tâche à accomplir

Pour le fun, concernant executeexcel4macro, voici un exemple -macro dite de Walkenbach- qui lit une cellule dans un fichier fermé
Sub lire_ferme()
Dim chemin As String

chemin = ThisWorkbook.Path
Range("A3") = ExecuteExcel4Macro("'" & chemin & "\[source.xls]Feuil1'!R1C1")
End Sub


Autrement , avec Le topo de Jean-Marie sur XLD et pour utiliser ces fonctions sur XL>=97 , il faut les écrire comme si on créait une cellule nommée et elle seront statiques: appui sur F9 pour réveiller la b^te
0
BOUBAOM Messages postés 31 Date d'inscription samedi 5 janvier 2013 Statut Membre Dernière intervention 30 janvier 2019
8 janv. 2013 à 18:07
Bon je te remercie pour tout, mais meme en me mâchant les mots, j'y pige que dalle ou ca marche pas en tout cas merci pour tout, je vais m'offrir un bouquin sur les VBA en espérant qu'il y arrivera lui ;)
0
Raymond PENTIER Messages postés 58389 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 18 avril 2024 17 090
7 janv. 2013 à 00:44
Si ne je ne trompe pas, Excel 4 date d'il y a vingt ans !
Tu trouveras difficilement des gens qui utilisent encore cette antiquité ...
-1
BOUBAOM Messages postés 31 Date d'inscription samedi 5 janvier 2013 Statut Membre Dernière intervention 30 janvier 2019
Modifié par BOUBAOM le 7/01/2013 à 13:14
Je sais bien mais moi je l'utilise, donc il faut que je trouve au moins 1 personne pour m'expliquer comment les transformer en VBA comme ca je pourrai acheter un Excel plus récent
Bonne journée a toi aux Antilles (veinard)
0