Macro Excel 4 en VBA

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.

9 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
    1. BOUBAOM Messages postés 38 Statut Membre
       
      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
    2. BOUBAOM Messages postés 38 Statut Membre
       
      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
    3. BOUBAOM Messages postés 38 Statut Membre
       
      OUPS oublier
      =SELECTIONNER("LC")
      avant
      =PAGEH(-1)
      0
  2. Raymond PENTIER Messages postés 58213 Date d'inscription   Statut Contributeur Dernière intervention   17 482
     
    "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
  3. BOUBAOM Messages postés 38 Statut Membre
     
    Si tu veux me les faire, PAS DE SOUCI ;)
    0
    1. Raymond PENTIER Messages postés 58213 Date d'inscription   Statut Contributeur Dernière intervention   17 482
       
      Dommage : je n'y connais rien en macros ...
      0
  4. JvDo Messages postés 1924 Date d'inscription   Statut Membre Dernière intervention   859
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. BOUBAOM Messages postés 38 Statut Membre
     
    Merci pour tout michel, je vais essayer ce site
    bonne journée a toi
    0
  7. BOUBAOM Messages postés 38 Statut Membre
     
    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
  8. JvDo Messages postés 1924 Date d'inscription   Statut Membre Dernière intervention   859
     
    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
    1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      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
  9. BOUBAOM Messages postés 38 Statut Membre
     
    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
  10. Raymond PENTIER Messages postés 58213 Date d'inscription   Statut Contributeur Dernière intervention   17 482
     
    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
    1. BOUBAOM Messages postés 38 Statut Membre
       
      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