Copier un lien avec implémentation

Résolu
pierrel54 Messages postés 8 Statut Membre -  
pierrel54 Messages postés 8 Statut Membre -
Bonjour,
J'ai créé un tableau récapitulatif dans Excel qui va rechercher des infos dans d'autres fichiers excel.
Voici un exemple d'une cellule du tableau récapitulatif :
=+'C:\Users\Admin\Documents\EXCELL2014\[048.xlsm]Données'!$E$45
Lorsque je copie ce lien dans la cellule en-dessous pour compléter le tableau, je voudrais que le document visé (048) devienne 049 automatiquement. Est-ce possible?
Merci

8 réponses

  1. pierrel54 Messages postés 8 Statut Membre
     
    Merci ccm81 de vous intéresser à ma recherche, j'ai ouvert le lien que vous m'avez envoyé mais lorsque je tape ctrl+F, il y a un écran qui apparait, ensuite je tape Alt F11 et il ne se passe rien, peut-être que je n'ai pas tout compris?
    0
    1. ccm81 Messages postés 11033 Statut Membre 2 434
       
      Quelques points à vérifier

      1. Avant de taper quoique ce soit
      Clic-droit sur l'onglet de la feuille/Visualiser le code
      tu dois voir le Module 1 dans la fenêtre de gauche, le code de la macro est dedans
      2. as tu accepté l'ouverture des macros (Outils/Macros/Sécurité/...)
      3. se positionner en A3 puis Ctrl+f (touche Ctrl et touche f)
      4. Chez moi, les fichiers 048 .... n'existent pas donc je ne peux pas voir ce que ça donne, mais la formule copiée semble bonne
      0
  2. pierrel54 Messages postés 8 Statut Membre
     
    Toujours merci mais le problème reste entier :
    1.J'ai cliqué du droit sur la feuille et ensuite sur visualiser le code, il y a effectivement un nouvel écran qui apparaît mais je n'y vois pas de module 1 ou de macro.
    2.Outils/Macros/Sécurité/... c'est dans Excel?
    3.Quand je me positionne dans A3 et que je tape Ctrl+F, il y a effectivement un écran qui apparaît "rechercher et remplacer" mais je ne vois pas ce que je dois en faire.
    Le but c'est que quand je copie la cellule A2 dans la cellule A3 le 048.xlsm devienne automatiquement 049.xlsm
    0
  3. ccm81 Messages postés 11033 Statut Membre 2 434
     
    1. Visiblement, la macro n'est pas passée, c'est un pb de passage d'un xls2003 avec macro à un xlsm2007
    Je ne connais pas la manip
    mais on peut contourner
    Alt-F11 pour accéder à l'éditeur VBA
    Insertion/module
    et tu copies le code ci-dessous

    Option Explicit
    
    Public Sub FicPlusUn()
    Dim rc1 As Long, rp As Long, fic1, fic2, f As String, lfic1 As Long, lfic2 As Long
    f = ActiveCell.Offset(-1, 0).FormulaLocal
    rc1 = InStr(f, "[")
    rp = InStr(f, ".")
    fic1 = Mid(f, rc1 + 1, rp - rc1 - 1)
    lfic1 = Len(fic1)
    fic2 = fic1 + 1
    lfic2 = Len(fic2)
    fic2 = String(lfic1 - lfic2, "0") & fic2
    f = Replace(f, fic1, fic2)
    ActiveCell.FormulaLocal = f
    End Sub


    2. Le but c'est que quand je copie la cellule A2 dans la cellule A3 le 048.xlsm devienne automatiquement 049.xlsm
    J'ai bien compris
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. pierrel54 Messages postés 8 Statut Membre
     
    Désolé mais cela ne fonctionne pas, comment puis-je t'envoyer la copie d'écran de ce que j'ai fait?
    0
  6. ccm81 Messages postés 11033 Statut Membre 2 434
     
    as tu copié le code dans le module 1? c'est la première chose à faire

    puis retour à la feuille de calcul
    Si oui (ça c'est pour excel 2003 mais ça doit y ressembler avec excel2007)
    Outils/Macro/macros tu choisi FicPlusUn
    Option. tu choisis un raccourci clavier (j'ai pris Ctrl+f)
    et ça devrait commencer à fonctionner
    0
  7. pierrel54 Messages postés 8 Statut Membre
     
    Bonjour,
    Encore merci, je crois que je progresse mais dans Windows 7, macros se trouve dans affichage et pas dans outils. J'ai trouvé et j'ai sélectionné FicPlusUn et il me met un message :
    Erreur d'exécution '5' :
    Argument ou appel de procédure incorrect
    Lorsque je clique sur débogage, la 5ième ligne du code apparaît en jaune.
    fic1 = Mid(f, rc1 + 1, rp - rc1 - 1)
    Bonne journée
    0
    1. ccm81 Messages postés 11033 Statut Membre 2 434
       
      Lorsque tu es sur la ligne erreur (jaune), tu passes la souris sur f tu dois voir apparaitre sa valeur soit ta (longue) formule
      tu peux aussi en profiter pour voir les valeurs de rp (rang du "." dans f, rc1 rang du "[" et de rc2 rang du "]"
      si ce n'est pas le cas
      Tu dois te placer en dessous de la cellule contenant la formule à copier
      ex. Ta formule est en A2
      tu sélectionnes A3 puis Ctrl+f
      0
  8. pierrel54 Messages postés 8 Statut Membre
     
    Un tout grand merci, cela fonctionne mais il fallait aller préciser dans les options de la macro la lettre F et en plus c'est : ctrl + shift + F
    Je te souhaite une belle journée
    0