Macro Excel 4 en VBA
BOUBAOM
Messages postés
38
Statut
Membre
-
BOUBAOM Messages postés 38 Statut Membre -
BOUBAOM Messages postés 38 Statut Membre -
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.
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:
- Macro Excel 4 en VBA
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Mise en forme conditionnelle excel - Guide
- Si ou excel - Guide
9 réponses
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
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)")
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
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
"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.
à ma connaissance cela n'existe pas.
Quand tu auras ton nouvel Excel, tu ouvriras chacun des fichiers et tu écriras les macros de nouveau.
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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 :)
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 :
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.
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.
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é
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
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
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 ;)
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
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
=SELECTIONNER("LC")
avant
=PAGEH(-1)