OVH Cloud OVH Cloud

Refedit

3 réponses
Avatar
np
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

3 réponses

Avatar
np
Merci de bien vouloir m'aider dans ma galère
Avatar
Garette
Bonjour,

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 ...
Avatar
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