[Résolu] [Calc] Ouvrir classeur2 avec bouton sur classeur1

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Grande Ourse
Membre OOrganisé
Membre OOrganisé
Messages : 68
Inscription : 29 janv. 2024 00:06

[Résolu] [Calc] Ouvrir classeur2 avec bouton sur classeur1

Message par Grande Ourse »

Bonjour,

Je voudrais ouvrir le classeur 2 avec le bouton sur le classeur1 (bouton ouvrir classeur2)
Les 2 classeurs sont dans le même fichier.

J'ai essai avec un hyperlien mais cela ne fonctionne pas, j'ai un message "plage incorrecte:
Peut-être que je n'ai pas détaillé correctement le chemin du fichier.

J'aimerais répéter en basic le cote VBA suivant que j'ai sur un fichier excel;

Code : Tout sélectionner

Private Sub Ouvrir_stock_Click()
openWB = IsWorkBookOpen("\Beerxcel_LO_stock_v2.ods")
If openWB Then
Windows("\Beerxcel_LO_stock_v2.ods").Activate
Application.WindowState = xlMaximized
    
Else

Workbooks.Open Filename:=ThisWorkbook.Path & Beerxcel_LO_stock_v2.ods


End If
End Sub
Est-ce que sur le bouton je dois créé un Évènement ->exécuter l'action->ouvrir classeur click et le code associé.

Voiçi un exemple que j'ai trouvé, que je devrai surement modifier si je suis dans la bonne direction.

Code : Tout sélectionner

 REM  *****  BASIC  *****

Sub OuvertureFichier
'Dim monDoc as Object, maFeuille as Object
Dim URL as String

'	monDoc = ThisComponent
'	maFeuille = monDoc.Sheets.getByName("feuille1")
	
	URl = "C:\NVIDIA\Win2KXP\96.02\"'mafeuille.getCellRangeByName("E6").getString()
	explorerFichiers(URL)
End sub

Sub explorerFichiers(ceRepertoire as string)
Dim f2 as string, UrlFichier as string
Dim monDoc as Object, maFeuille as Object
Dim monFichier as String
Dim ShExec As Object

	monDoc = ThisComponent
	mafeuille = monDoc.Sheets.getByName("feuille1")
	monFichier = maFeuille.getCellRangeByName("E6").getString()
	ShExec = createUnoService("com.sun.star.system.SystemShellExecute")

	f2 = dir(ceRepertoire & "*", 0) ' recherche fichiers directs
	do while  Len(f2) > 0
		If f2 = monFichier Then
			UrlFichier = ConvertFromURL(ceRepertoire & f2 )
			ShExec.execute(UrlFichier , "", 0) 
			Exit sub
		End If
		f2 = dir
	loop
	MsgBox("Fichier non trouvé")
End Sub
Merçi d'avance pour votre aide.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par micmac le 03 août 2025 07:12, modifié 4 fois.
Raison : [Résolu] remplace RÉSOLU
LibreOffice 25.2.5.2 (X86-64), Window7 et Linux_Ubuntu 20.04.6LTS, 64 bits, Libre office 6.4.7.2
Avatar de l’utilisateur
yclik
HédOOniste
HédOOniste
Messages : 1885
Inscription : 15 déc. 2010 08:33

Re: [Calc] Ouvrir classeur2 avec bouton sur classeur1

Message par yclik »

Bonjour
en s'inspirant ce post
cela donnerait

Code : Tout sélectionner

Sub OuvreUrL

	sURL = "D:\Mes documents\macro\Bouton\classeur2.ods"
	oShell = createUNOService("com.sun.star.system.SystemShellExecute")
	oShell.execute(sURL, "", 1)

End Sub
Par contre j'ai du récrée un classeur "Bouton Ouvrir classeur2.ods" car il avait un comportement anormal cher moi avec AOo
OpenOffice 4.1.14 sous Windows 11
Avatar de l’utilisateur
Dolev
SuppOOrter
SuppOOrter
Messages : 1189
Inscription : 19 août 2018 05:20

Re: [Calc] Ouvrir classeur2 avec bouton sur classeur1

Message par Dolev »

Bonjour,

Il n'y a pas besoin de macro pour faire ça.
Grande Ourse a écrit : 30 juil. 2025 20:31 J'ai essai avec un hyperlien mais cela ne fonctionne pas, j'ai un message "plage incorrecte:
Peut-être que je n'ai pas détaillé correctement le chemin du fichier.
Et bien détaillez en fournissant une capture de l'écran.
Chez moi, cela fonctionne sans problème :
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Open Office 4.1.16 sous Windows 11
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 10046
Inscription : 28 août 2010 08:45

Re: [Calc] Ouvrir classeur2 avec bouton sur classeur1

Message par micmac »

Bonjour,
Dans votre signature il y a écrit :LibreOffice 28.8.6.2 (X86-64)...Libre office 6.4.7.2
Cette version 28.8.6.2 de LibO n'existe pas. S'il s'agissait de la version 25.8, c'est une pré-version. Quant à la version 6.4.7.2, elle n'est plus maintenue.

Accès direct à votre signature pour la corriger.
Touche Ctrl de Windows = touche cmd⌘ sur Mac
OpenOffice > Outils > Options sur Windows = OpenOffice > Préférences sur macOS
Grande Ourse
Membre OOrganisé
Membre OOrganisé
Messages : 68
Inscription : 29 janv. 2024 00:06

Re: [Calc] Ouvrir classeur2 avec bouton sur classeur1

Message par Grande Ourse »

Merçi Yclik et Dolev pour les solutions.

Je vais utiliser l'hyperlien ce sera plus simple pour moi.

Salutations.
LibreOffice 25.2.5.2 (X86-64), Window7 et Linux_Ubuntu 20.04.6LTS, 64 bits, Libre office 6.4.7.2