J'ai un classeur avec une feuille "Data" et une feuille "Cible"
J'utilise un userform avec des ComboBox qui ont des Rowsource en "Data", un
refedit pour selectionner les cellules en "Cible",et un CommandButton
Private Sub UserForm_Activate()
Worksheets("Data").Activate
ComboBox1.RowSource = "Compagnies"
'cellules nommer en feuille Data
End Sub
'Procédure pour determiner les Rowsource de Combobox2 en fonction
'de Combobox1.Value
Private Sub ComboBox1_Change()
With Worksheets("Data").Range("Compagnies")
Set c = .Find(ComboBox1.Value, LookIn:=xlValues)
If c Is Nothing Then Exit Sub Else c.Activate
End With
ComboBox2.RowSource = Range(ActiveCell.Offset(0, 1), ActiveCell.Offset(0,
1).End (xlDown))
End Sub
'Procédure pour ecrire les valeurs des combobox1 et 2 dans les cellules
selection
' en RefEdit
Private Sub CommandButton1_Click()
Range(RefEdit.Value).Select
With Selection
'procédure d'ecriture
End With
End Sub
Le probleme etant que l'objet range ne marche pas lors de l'ecriture si
celui ci ne fait pas partie de ma feuille Data active lors de l'execution de
mon userform
En mettant Range(RefEdit1.Value).Select au lieu de Range(RefEdit.Value).Select, chez moi ça fonctionne.
RefEdit1 est le nom du controle. Chez toi c'est peut etre RefEditX ...
MichDenis
Pour pouvoir sélectionner une plage de cellules, la feuille qui contient la sélection doit être la feuille active
Essaie ceci : '------------------------- Private Sub CommandButton1_Click()
Dim rg As Range On Error Resume Next Set rg = Range(Me.RefEdit1.Value) If Err = 0 Then With rg .Parent.Select .Select End With Else Err = 0 MsgBox "La saisie est incorrecte." End If
End Sub '-------------------------
"np" a écrit dans le message de news:
Bonjour a tous
Voici mon probleme
J'ai un classeur avec une feuille "Data" et une feuille "Cible" J'utilise un userform avec des ComboBox qui ont des Rowsource en "Data", un refedit pour selectionner les cellules en "Cible",et un CommandButton
Private Sub UserForm_Activate() Worksheets("Data").Activate ComboBox1.RowSource = "Compagnies" 'cellules nommer en feuille Data End Sub
'Procédure pour determiner les Rowsource de Combobox2 en fonction 'de Combobox1.Value Private Sub ComboBox1_Change() With Worksheets("Data").Range("Compagnies") Set c = .Find(ComboBox1.Value, LookIn:=xlValues) If c Is Nothing Then Exit Sub Else c.Activate End With
ComboBox2.RowSource = Range(ActiveCell.Offset(0, 1), ActiveCell.Offset(0, 1).End (xlDown)) End Sub
'Procédure pour ecrire les valeurs des combobox1 et 2 dans les cellules selection ' en RefEdit Private Sub CommandButton1_Click() Range(RefEdit.Value).Select With Selection 'procédure d'ecriture End With End Sub
Le probleme etant que l'objet range ne marche pas lors de l'ecriture si celui ci ne fait pas partie de ma feuille Data active lors de l'execution de mon userform
Pour pouvoir sélectionner une plage de cellules, la feuille
qui contient la sélection doit être la feuille active
Essaie ceci :
'-------------------------
Private Sub CommandButton1_Click()
Dim rg As Range
On Error Resume Next
Set rg = Range(Me.RefEdit1.Value)
If Err = 0 Then
With rg
.Parent.Select
.Select
End With
Else
Err = 0
MsgBox "La saisie est incorrecte."
End If
End Sub
'-------------------------
"np" <np@discussions.microsoft.com> a écrit dans le message de news:
34A21891-6268-44C5-8982-90288302E800@microsoft.com...
Bonjour a tous
Voici mon probleme
J'ai un classeur avec une feuille "Data" et une feuille "Cible"
J'utilise un userform avec des ComboBox qui ont des Rowsource en "Data", un
refedit pour selectionner les cellules en "Cible",et un CommandButton
Private Sub UserForm_Activate()
Worksheets("Data").Activate
ComboBox1.RowSource = "Compagnies"
'cellules nommer en feuille Data
End Sub
'Procédure pour determiner les Rowsource de Combobox2 en fonction
'de Combobox1.Value
Private Sub ComboBox1_Change()
With Worksheets("Data").Range("Compagnies")
Set c = .Find(ComboBox1.Value, LookIn:=xlValues)
If c Is Nothing Then Exit Sub Else c.Activate
End With
ComboBox2.RowSource = Range(ActiveCell.Offset(0, 1), ActiveCell.Offset(0,
1).End (xlDown))
End Sub
'Procédure pour ecrire les valeurs des combobox1 et 2 dans les cellules
selection
' en RefEdit
Private Sub CommandButton1_Click()
Range(RefEdit.Value).Select
With Selection
'procédure d'ecriture
End With
End Sub
Le probleme etant que l'objet range ne marche pas lors de l'ecriture si
celui ci ne fait pas partie de ma feuille Data active lors de l'execution de
mon userform
Pour pouvoir sélectionner une plage de cellules, la feuille qui contient la sélection doit être la feuille active
Essaie ceci : '------------------------- Private Sub CommandButton1_Click()
Dim rg As Range On Error Resume Next Set rg = Range(Me.RefEdit1.Value) If Err = 0 Then With rg .Parent.Select .Select End With Else Err = 0 MsgBox "La saisie est incorrecte." End If
End Sub '-------------------------
"np" a écrit dans le message de news:
Bonjour a tous
Voici mon probleme
J'ai un classeur avec une feuille "Data" et une feuille "Cible" J'utilise un userform avec des ComboBox qui ont des Rowsource en "Data", un refedit pour selectionner les cellules en "Cible",et un CommandButton
Private Sub UserForm_Activate() Worksheets("Data").Activate ComboBox1.RowSource = "Compagnies" 'cellules nommer en feuille Data End Sub
'Procédure pour determiner les Rowsource de Combobox2 en fonction 'de Combobox1.Value Private Sub ComboBox1_Change() With Worksheets("Data").Range("Compagnies") Set c = .Find(ComboBox1.Value, LookIn:=xlValues) If c Is Nothing Then Exit Sub Else c.Activate End With
ComboBox2.RowSource = Range(ActiveCell.Offset(0, 1), ActiveCell.Offset(0, 1).End (xlDown)) End Sub
'Procédure pour ecrire les valeurs des combobox1 et 2 dans les cellules selection ' en RefEdit Private Sub CommandButton1_Click() Range(RefEdit.Value).Select With Selection 'procédure d'ecriture End With End Sub
Le probleme etant que l'objet range ne marche pas lors de l'ecriture si celui ci ne fait pas partie de ma feuille Data active lors de l'execution de mon userform