Utiliser projet Excel sous MAC

oui c'est ce que j'ai fait. Enfin il me semble:

Private Sub ComboBox2_Change() 'Charge recette
Dim Ligne As Integer
Dim MyImage As String, chemin As String, sp As String
Dim i As Byte

'if encours= true then exit sub
On Error GoTo Fin
Call Nettoyage 'Lance le programme Nettoyage
If Me.ComboBox2.ListIndex = -1 Then Exit Sub
Ligne = Me.ComboBox2.Column(1)
For i = 6 To 11
    Me.Controls("TextBox" & i) = Ws.Cells(Ligne, i + 2)
Next i
For i = 4 To 8
    Me.Controls("ComboBox" & i) = Ws.Cells(Ligne, i - 1)
Next i

If Ws.Cells(Ligne, 15) <> "" Then Controls("optionbutton" & Ws.Cells(Ligne, 15)) = 1
Label2 = Combobox4.Text
'programmation pour l'affichage des images dans l'userform
sp = Application.PathSeparator
chemin = ThisWorkbook.Path & sp & "Images" & sp    'ThisWorkbook.path ... renvoi le répertoire ou est stocké le classeur contenant ton code.
MyImage = ComboBox2 & ".jpg"
MsgBox MyImage

If existeFichier(MyImage, chemin) Then
    'Image1.Tag = chemin & MyImage
    #If Mac Then
       ' Me.Image1.Pictures.Insert (chemin & MyImage) 'pour mac
        Me.Controls.Item("Image1").Picture = chemin & MyImage 'A tester si souci sur ligne precedente
    #Else
        Me.Image1.Picture = LoadPicture(chemin & MyImage)
    #End If
Else
    #If Mac Then
       ' Me.Image1.Pictures.Insert (chemin & "INEXISTANTE.jpg") 'pour mac
        Me.Controls.Item("Image1").Picture = (chemin & "INEXISTANTE.jpg") 'A tester si souci sur ligne precedente
    #Else
        Me.Image1.Picture = LoadPicture(chemin & "INEXISTANTE.jpg")
    #End If
End If

MyImage = Combobox4 & ".jpg"
MsgBox MyImage

If existeFichier(MyImage, chemin) Then
    Image2.Tag = chemin & MyImage
    Image2.Picture = LoadPicture(Image2.Tag)    'Modifiez le CHEMIN par le chemin exacte où se trouve l'image  (Ex. :  f:\recettes\   )
Else
    Image2.Tag = ""
    Image2.Picture = LoadPicture(chemin & "INEXISTANTE2.jpg")
End If
Fin:
End Sub

Ok, Je vois mais je dois voir aussi le résultat de mon post ici --> https://forum.excel-pratique.com/s/goto/1253493

Ok pas de soucis dès que je peux aller chez ma fille.

Bonne soirée à vous

Je dois savoir le résultat des 3 messages

Je ne comprend pas, sous Windows je ne reçois que deux message.

1 2

Par contre l'image de la recette, ne s'affiche pas dans l'UserForm

3

Voilà mon code:

Private Sub ComboBox2_Change() 'Charge recette
Dim Ligne As Integer
Dim MyImage As String, chemin As String, sp As String
Dim i As Byte

'if encours= true then exit sub
On Error GoTo Fin
Call Nettoyage 'Lance le programme Nettoyage
If Me.ComboBox2.ListIndex = -1 Then Exit Sub
Ligne = Me.ComboBox2.Column(1)

For i = 6 To 11
    Me.Controls("TextBox" & i) = Ws.Cells(Ligne, i + 2)
Next i
For i = 4 To 8
    Me.Controls("ComboBox" & i) = Ws.Cells(Ligne, i - 1)
Next i

If Ws.Cells(Ligne, 15) <> "" Then Controls("optionbutton" & Ws.Cells(Ligne, 15)) = 1
Label2 = Combobox4.Text
'programmation pour l'affichage des images dans l'userform
sp = Application.PathSeparator
chemin = ThisWorkbook.Path & sp & "Images" & sp    'ThisWorkbook.path ... renvoi le répertoire ou est stocké le classeur contenant ton code.
MyImage = ComboBox2 & ".jpg"
MsgBox MyImage

If existeFichier(MyImage, chemin) Then
    'Image1.Tag = chemin & MyImage
    #If Mac Then
       ' Me.Image1.Pictures.Insert (chemin & MyImage) 'pour mac
        Me.Controls.Item("Image1").Picture = chemin & MyImage 'A tester si souci sur ligne precedente
    #Else
        Me.Image1.Picture = LoadPicture(chemin & MyImage)
    #End If
Else
    #If Mac Then
       ' Me.Image1.Pictures.Insert (chemin & "INEXISTANTE.jpg") 'pour mac
        Me.Controls.Item("Image1").Picture = (chemin & "INEXISTANTE.jpg") 'A tester si souci sur ligne precedente
    #Else
        Me.Image1.Picture = LoadPicture(chemin & "INEXISTANTE.jpg")
    #End If
End If

MyImage = Combobox4 & ".jpg"
MsgBox MyImage

If existeFichier(MyImage, chemin) Then
    Image2.Tag = chemin & MyImage
    Image2.Picture = LoadPicture(Image2.Tag)    'Modifiez le CHEMIN par le chemin exacte où se trouve l'image  (Ex. :  f:\recettes\   )
Else
    Image2.Tag = ""
    Image2.Picture = LoadPicture(chemin & "INEXISTANTE2.jpg")
End If
Fin:
End Sub

Si je vous fais placer des msgbox ce n'est pas pour vérifier sous windows mais sur Mac

Je ne comprend pas, sous Windows je ne reçois que deux message.

Là vous ne lisez pas ce que j'ai écrit déjà 2x --> https://forum.excel-pratique.com/s/goto/1253500 et là https://forum.excel-pratique.com/s/goto/1253493

Voilà les imprimés écran

1000002450 1000002451

Cela me met deux fois le même nom cela ... donc vous n'avez toujours pas compris

Donc je recommence à nouveau.

Avant le If existeFichier(MyImage, chemin) Then, je veux voir deux informations
La première vous l'avez écrite mais la deuxième pas

Comme écrit dans mes 2 posts précédents vous devez avoir ceci dans le code

MsgBox MyImage
MsgBox chemin & MyImage

Bonjour Dan,

Je viens de faire un nouveau test sur MAC. Pour IMAGE1, image de la recette, je reçois bien les messages (mais elle ne s'affiche toujours pas dans l'userform)

par contre pour IMAGE2, image des difficultés, aucun message,

1
Private Sub ComboBox2_Change() 'Charge recette
Dim Ligne As Integer
Dim MyImage As String, chemin As String, sp As String
Dim i As Byte

'if encours= true then exit sub
On Error GoTo Fin
Call Nettoyage 'Lance le programme Nettoyage

If Me.ComboBox2.ListIndex = -1 Then Exit Sub
Ligne = Me.ComboBox2.Column(1)

For i = 6 To 11
    Me.Controls("TextBox" & i) = Ws.Cells(Ligne, i + 2)
Next i
For i = 4 To 8
    Me.Controls("ComboBox" & i) = Ws.Cells(Ligne, i - 1)
Next i

If Ws.Cells(Ligne, 15) <> "" Then Controls("optionbutton" & Ws.Cells(Ligne, 15)) = 1
Label2 = Combobox4.Text
'programmation pour l'affichage des images dans l'userform
sp = Application.PathSeparator
chemin = ThisWorkbook.Path & sp & "Images" & sp    'ThisWorkbook.path ... renvoi le répertoire ou est stocké le classeur contenant ton code.

MyImage = ComboBox2 & ".jpg"
MsgBox MyImage
MsgBox chemin & MyImage

If existeFichier(MyImage, chemin) Then
    'Image1.Tag = chemin & MyImage
    #If Mac Then
       ' Me.Image1.Pictures.Insert (chemin & MyImage) 'pour mac
        Me.Controls.Item("Image1").Picture = chemin & MyImage 'A tester si souci sur ligne precedente
    #Else
        Me.Image1.Picture = LoadPicture(chemin & MyImage)
    #End If
Else
    #If Mac Then
       ' Me.Image1.Pictures.Insert (chemin & "INEXISTANTE.jpg") 'pour mac
        Me.Controls.Item("Image1").Picture = (chemin & "INEXISTANTE.jpg") 'A tester si souci sur ligne precedente
    #Else
        Me.Image1.Picture = LoadPicture(chemin & "INEXISTANTE.jpg")
    #End If
End If

MyImage = Combobox4 & ".jpg"
MsgBox MyImage
MsgBox chemin & MyImage

If existeFichier(MyImage, chemin) Then
    'Image2.Tag = chemin & MyImage
   ' Image2.Picture = LoadPicture(Image2.Tag)    'Modifiez le CHEMIN par le chemin exacte où se trouve l'image  (Ex. :  f:\recettes\   )
    Me.Controls.Item("Image1").Picture = chemin & MyImage
Else
    Image2.Tag = ""
    Image2.Picture = LoadPicture(chemin & "INEXISTANTE2.jpg")
End If
Fin:
End Sub

Bonne journée

Re

Pas facile de lire le message renvoyé. C'est trop petit.
Là je pense que vous utilisez les touches cmd + MAJ + F3, du coup vous avez toute la page
Pensez à utiliser cmd + MAJ + F4, là cela vous permet de sélectionner ce que vous voulez montrer

Faites un peu un test en essayant de sélectionner l'objet Image1 dans l'usf et d'aller dans la propriété Picture pour rechercher votre image.

Dites si vous y arrivez. En principe l'usf devrait afficher l'image choisie.
Si vous n'y arrivez pas, essayez avec une image dont l'extension est BMP plutôt que JPG mais logiquement cela devrait fonctionner avec JPG

Image2 c'est normal que cela ne s'affiche pas. Le code n'est pas bon. Mais cela n'a pas d'importance pour le moment.

Pourriez-vous me dire comment afficher l'userform car je n'ai que les codes qui s'affiche dans VisualBasic, lorsque je clique sur USERFORM1

Vous êtes sous MAC là ?
Si oui, vous devriez avoir une fenêtre séparée qui vous montre les objets dont l'USF

non je ne suis plus.

Je ne comprends pas là.
Il faut que vous soyez sous MAC pour tester

A voir si vous voyez les objets dans l'USF ...

Oui oui, excusez moi je pense m'être mal exprimé. je suis de retour à la maison. Ne serait-il pas possible de convenir d'un jour pour être connecter ensemble afin de pouvoir discuter en direct. Je m'arrangerai pour être chez ma fille avec le MAC?

Merci

Ne serait-il pas possible de convenir d'un jour pour être connecter ensemble afin de pouvoir discuter en direct.

Oui pourquoi pas.
Par contre déjà savoir que vous voyez l'USF dans l'éditeur VBA serait bien et surtout les combo, textbox etc...

NB : j'ai pu lire votre répertoire sur le message. Mais ce n'est pas correct cela.

Vous devriez avoir ceci --> /Users/alison ?......./Library/Group Containers/UBF8T346G9.Office/Images/nom de l'image

Mais il y a une autre méthode que l'on pourra tester. J'ai fait quelques fois et cela a fonctionné mais le fichier ne contenait pas d'USF

NB : j'ai pu lire votre répertoire sur le message. Mais ce n'est pas correct cela.

C'est bien ce que je pensais

Est-ce que lundi 14:30 vous conviendrai?

Bonjour,

Voici ce que vous pouvez tester

- Mettez le fichier Excel et votre dossier image sur le bureau (Finder sur MAC)
- Choisissez une image de recette et modifiez le nom en ajoutant ces deux caractères devant le nom --> ~$
Exemple : le nom de votre image serait --> ~$Croustilles de pommes de terre au parmesan.jpg
- dans le code remplacez MyImage = "~$" & ComboBox2 & ".jpg" par ceci --> MyImage = "~$" & ComboBox2 & ".jpg"

Laissez toujours les deux lignes msgbox. Cela permettra déjà de voir si tout est ok au niveau nom fichier et chemin

Ouvrez votre userform et choisissez la recette

Le test ne concerne que l'image relative à la combobox2.

Rechercher des sujets similaires à "utiliser projet mac"