Bonjour,
je fais face à un petit soucis avec ma macro ou ma version Excel, I need help!
Voici mon problème: j'ai créée un fichier Excel avec une macro (voir ci-dessous) qui permet d'ouvrir un formulaire de recherche puis affiche des informations en conséquence.
Ma macro fonctionne parfaitement sur mon ordinateur (Mac 2016) mais il s'avère que lorsque je l'ouvre avec mon autre ordinateur (mac aussi), il s'affiche un message d'erreur! (voir capture d'écran)
A quoi cela peut il etre du?
Mon code VBA de mon Userform:
Private Sub UserForm_Initialize()
With ListBox1
.ColumnCount = 5
.ColumnWidths = "40;140;100;100"
End With
Me.ListBox1.List = Range("Tableau1[[Eligibilité]:[Libellé]]").Value
End Sub
Private Sub TextBox1_Change()
Me.ListBox1.Clear
i = 0
For Each c In Application.Index(Range("Tableau1[[Eligibilité]:[Libellé]]"), , 4)
If UCase(c) Like "*" & UCase(Me.TextBox1) & "*" Then
Me.ListBox1.AddItem
Me.ListBox1.List(i, 0) = c.Offset(0, -3).Value
Me.ListBox1.List(i, 1) = c.Offset(0, -2).Value
Me.ListBox1.List(i, 2) = c.Offset(0, -1).Value
Me.ListBox1.List(i, 3) = c.Offset(0, 0).Value
i = i + 1
End If
Next c
End Sub
Private Sub CommandButton1_Click()
flag = True
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) Then
flag = False
End If
Next i
If flag Then
MsgBox "Si l'activité n'apparait pas dans la nomenclature, il est probable qu'il s'agisse d'une activité non éligible. En cas de doute, tu peux solliciter un avis auprès du service micro-assurance: microassurance@adie.org "
Exit Sub
End If
ligne = 4
Range("C" & 3).Value = Me.ListBox1.Column(3)
Range("C" & 4).Value = Me.ListBox1.Column(1)
Range("C" & 5).Value = Me.ListBox1.Column(2)
Range("B" & 7).Value = Me.ListBox1.Column(0)
Me.Hide
Columns("C:C").ColumnWidth = 200
Columns("C:C").EntireColumn.AutoFit
Rows("8:9").EntireRow.AutoFit
End Sub
Code de ma feuille:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("C3")) Is Nothing Then Exit Sub
UserForm.Left = 100
UserForm.Top = 100
UserForm.Show
Columns("C:C").EntireColumn.AutoFit
Rows("8:9").EntireRow.AutoFit
End Sub