Ce contrôle placé dans un formulaire affiche l'adresse d'une plage de cellules
que vous avez entrée ou sélectionnée dans une feuille de calcul.
Pour sélectionner une plage, cliquez sur le bouton dans le contrôle pour réduire
le formulaire utilisateur, sélectionnez la plage, puis cliquez de nouveau sur le bouton
dans le contrôle pour développer le formulaire utilisateur.
Exemple d'utilisation du contrôle RefEdit
Effectuer une opération arithmétique (+, -, * ou x) sur une plage de cellules.
(Ex. Conversion Frs/Euros, majorer un prix, appliquer une remise).
Principe d'utilisation du contrôle RefEdit
Etape 1 : Cliquez sur le trait horizontal du contrôle.
Etape 2 : Affichage d'une boîte de sélection.
Etape 3 : Sélectionnez avec la souris la plage désirée.
Etape 4 : Cliquez sur la flèche rouge du contrôle pour valider votre sélection.
Mise en oeuvre du contrôle RefEdit
1 - Activer un UserForm dans le Visual Basic Editor.
2 - Faites un clic droit sur la boîte à outils et sélectionnez Contrôles
supplémentaires.
3 - Dans la liste déroulante, sélectionnez RefEdit.Ctrl.
4 - Cliquez sur OK pour fermer la boîte de dialogue et ajoutez le contrôle
dans la boîte à outils.
Ajout du contrôle RefEdit
La boîte à outils
Le Userform (SelectOperation)
Le code
Code lançant l'ouverture de la boîte de dialogue
|
Sub AfficheRefEdit()
SelectOperation.Show
End Sub
|
Code d'ouverture du formulaire
|
Private Sub UserForm_Initialize()
' Affiche la sélection en cours
RefEdit1.Text = ActiveWindow.RangeSelection.Address
' Rend le bouton Addition actif par défaut
Frame1.OptionAddition.Value = True
End Sub
|
Code des boutons
1 / Bouton Valider (CmdValider)
|
Private Sub CmdValider_Click()
' Teste si une valeur a été saisie dans la TextBox (Opérande)
On Error Resume Next
If TextBox1.Value = "" Then
MsgBox "Vous devez saisir une valeur d'opérande"
RefEdit1.SetFocus
On Error GoTo 0
Exit Sub
End If
Set PlageSelect = Range(RefEdit1.Text)
MyOperande = TextBox1.Value
' Teste la sélelection effectuée est correct
If Err <> 0 Then
MsgBox "La plage sélectionnée est invalide"
RefEdit1.SetFocus
On Error GoTo 0
Exit Sub
End If
' Effectue l'opération choisie sur la plage de cellules sélectionnées
For Each Cell In PlageSelect
If OptionAddition.Value = True Then Cell.Value = Cell.Value + MyOperande
If OptionSoustraction.Value = True Then Cell.Value = Cell.Value - MyOperande
If OptionMultiplication.Value = True Then Cell.Value = Cell.Value * MyOperande
If OptionDivision.Value = True Then Cell.Value = Cell.Value / MyOperande
Next Cell
SelectOperation.Hide
Unload SelectOperation
End Sub
|
2 / Bouton Annuler (CmdAnnuler)
|
Private Sub CmdAnnuler_Click()
SelectOperation.Hide
Unload SelectOperation
End Sub
|