Bonjour
Je suppose que c'est un problème basique, mais en cherchant sur le forum, je n'ai pas trouvé. Ma femme dirait que je ne sais pas chercher....
Je sais qu'il faut éviter de rendre active des feuilles pour rien d'où ma question
	
	
	
	
	
		
J'ai mis toute le code de la macro, et elle fonctionne bien
Si la feuille "biens" n'est pas active, j'ai un message d'erreur
sur la ligne
Me.Controls("TextBox" & j) = Worksheets("Biens").Cells(lig, j + 2)
Pourtant je lui indique bien que je veux utiliser la feuille "bien" avec With WsBI
( Set WsBI = Worksheets("Biens") dans initialise() et Dim WsBI As Worksheet dans option explicite)
Si je mets WsBi.activate en début de code , cela fonctionne, mais peut on l'éviter?
	
		
			
		
		
	
				
			Je suppose que c'est un problème basique, mais en cherchant sur le forum, je n'ai pas trouvé. Ma femme dirait que je ne sais pas chercher....
Je sais qu'il faut éviter de rendre active des feuilles pour rien d'où ma question
		VB:
	
	
	Private Sub ComboBox1_Change()
If ComboBox1.Value <> "" Then
Dim ligne As Long, i As Integer, Var2 As Variant, lig As Long, j As Integer
    'initialise combobox6 "Code Bien"
         With ComboBox6
            For Var2 = 2 To Worksheets("Biens").Range("A" & Rows.Count).End(xlUp).Row
               .AddItem Worksheets("Biens").Range("A" & Var2)
            Next Var2
            ligne = Var2
        End With
        For i = 2 To ligne
            If Range("F" & i).Value = ComboBox1.Value Then
                If Range("B" & i).Value = ComboBox4.Value Then
                lig = i
                End If
            End If
         Next i
  With WsBI
        For j = 1 To 3
        Me.Controls("TextBox" & j) = Worksheets("Biens").Cells(lig, j + 2)
        Next j
            Me.ComboBox6 = Worksheets("Biens").Cells(lig, 1)
  End With
End If
     
End Sub
	J'ai mis toute le code de la macro, et elle fonctionne bien
Si la feuille "biens" n'est pas active, j'ai un message d'erreur
sur la ligne
Me.Controls("TextBox" & j) = Worksheets("Biens").Cells(lig, j + 2)
Pourtant je lui indique bien que je veux utiliser la feuille "bien" avec With WsBI
( Set WsBI = Worksheets("Biens") dans initialise() et Dim WsBI As Worksheet dans option explicite)
Si je mets WsBi.activate en début de code , cela fonctionne, mais peut on l'éviter?
			
				Dernière édition: