Switch entre classeurs ouverts

Bonjour,

Je suis à la recherche d'une ligne de code pour pouvoir "resélectionner un classeur ouvert".

En fait je suis en train de créer une macro lien hypertexte qui me renvoie vers les classeurs excels associés à des clients via un clic droit sur leur nom en colonne A. Le problème c'est que je ne trouve pas comment renvoyer à plus d'un fichier puisque j'utilise Activecell.

Je joins le code que j'ai fais :

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim Sh1 As Worksheet, Wb1 As Workbook, Wb2 As Workbook, Ch1$, Ch2$, j%, b%, Rw&, i&

    Ch1 = "C:\Users\DerJul\Desktop\Stage L3\internet\clients\mission comptable\"
    Ch2 = "C:\Users\DerJul\Desktop\Stage L3\internet\clients\mission sociale\"
    Set Wb1 = ThisWorkbook
    Set Sh1 = Wb1.Worksheets("Feuil1")
    Rw = Sh1.Cells(Rows.Count, 1).End(xlUp).Row
    For i = 2 To Rw
      If Dir(Ch1 & ActiveCell & ".xlsm") <> "" = True Then
      Workbooks.Open Ch1 & ActiveCell & ".xlsm"
     End if
      If Dir(Ch2 & ActiveCell & ".xlsm") <> "" = True Then
      Workbooks.Open Ch2 & ActiveCell & ".xlsm"
      End If
    Next i

    End Sub

Pouvez-vous m'aider ?

DerJul

Salut,

Je ne suis pas sûr d'avoir compris ta question, mais est-ce que ce post pourrait t'aider ?

https://forum.excel-pratique.com/excel/vba-selectionner-un-fichier-deja-ouvert-t23359.html

A te relire

Re bonjour,

Bonjour Yvouille,

Je ne comprends pas le topic du lien que tu m'as conseillé.

En fait, ce que je voudrais à la base c'est qu'en cliquant(clic droit) sur une case de la première colonne de chaque ligne (où il y a des infos clients), cela m'ouvre les 2 fichiers associés. Le problème avec la macro que j'ai faite c'est que le chemin utilise activecell et que cela ne peut se faire que lorsque mon classeur de base est ouvert. Mais pour en ouvrir 2 je dois (et c'est mon problème) pour l'instant les ouvrir l'un après l'autre. Or, lorsque j'ouvre le premier classeur associé, je n'ai plus la même activecell et du coup cela ne fonctionne plus.

Je voudrais pouvoir ouvrir simultanément les 2 classeurs ou si on peut le faire ainsi renommer la case "activecell" d'une manière ou d'une autre.

Si ce n'est pas clair n'hésitez pas à me redemander

DerJul

Bonjour

DerJul a écrit :

lorsque j'ouvre le premier classeur associé, je n'ai plus la même activecell

Récupère avant d'ouvrir le 1er fichier le contenu de ActiveCell et là plus de soucis

Re Bonjour,

Je suis novice Comment puis-je le "récupérer" ?

DerJul

Bonjour

Excuses-moi

Un truc dans ce style

    Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    Dim Sh1 As Worksheet, Wb1 As Workbook, Wb2 As Workbook, Ch1$, Ch2$, j%, b%, Rw&, i&
    Dim Nom  ' Sans typage comme cela tu pourras avoir n'importe quel type de donnée

        Ch1 = "C:\Users\DerJul\Desktop\Stage L3\internet\clients\mission comptable\"
        Ch2 = "C:\Users\DerJul\Desktop\Stage L3\internet\clients\mission sociale\"
        Set Wb1 = ThisWorkbook
        Set Sh1 = Wb1.Worksheets("Feuil1")
        Rw = Sh1.Cells(Rows.Count, 1).End(xlUp).Row
        For i = 2 To Rw
          Nom = ActiveCell
          If Dir(Ch1 & Nom & ".xlsm") <> "" = True Then
          Workbooks.Open Ch1 & Nom & ".xlsm"
         End if
          If Dir(Ch2 & Nom & ".xlsm") <> "" = True Then
          Workbooks.Open Ch2 & Nom & ".xlsm"
          End If
        Next i

        End Sub

Je pense que ton code est incorrect (pourquoi la boucle ?)

Hum disons que j'essaye d'assembler différentes parties de macro pour en faire une. En fait j'ai juste besoin d'une macro qui sache que si je fais un clic droit sur une case de la première colonne il faut ouvrir les 2 classeurs correspondants.

Puis-je abuser de ton temps et te demander comment tu écrirais le code?

Cordialement,

DerJul

Edit : ton code fonctionne mais je viens de me rendre compte que je ne peux pas ouvrir en simultané 2 classeurs excel qui portent le même nom Je vais devoir tout modifier mes macros précédentes pour enregistrer sous 2 différents

Merci beaucoup

Bonjour

C'est vrai on ne peut pas ouvrir deux fichiers avec le même nom : zavais pas tilté

Si tu veux de l'aide postes ton (tes fichiers) et surement tu auras des réponses

Bonne journée

Rechercher des sujets similaires à "switch entre classeurs ouverts"