Les boîtes de dialogue

Le contrôle RefEdit.Retour au menu Contrôles divers

        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

Retour au début de document

Retour au début du document