Utilisation débutant d'une Cellule Active

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Lanfeust33

XLDnaute Nouveau
Bonjour à toutes et à tous !

Je viens de m'inscrire ici en espérant avoir une réponse à mes différents problèmes car j'ai déjà parcouru ce forum un certain nombre de fois pour en apprendre un peu plus sur excel et vba, mais je n'y trouve pas forcément ce que je veux.

Pour l'heure, je tente de gérer sous excel le "statut" d'avancement de factures, que je veux trier après, et donc j'ai décidé de faire appel à un Userform quand on clique dans une plage de cellule (colonne facture), pour cliquer ensuite sur le bouton qui correspond à l'avancement désiré.
Une fois cette action faite, j'aimerais inscrire dans la cellule sélectionnée au début et gardée en mémoire, le statut de la facture (payé, en attente ou relancé).

Là où ça pose problème (la méthode range global a échoué), c'est donc quand j'appelle la celulle sélectionnée :

(Dans le UserForm)

Private Sub CommandButton1_Click()
Dim Target As Range
Range("Target") = "Payé"


J'espère que ma demande est claire ... Merci de votre aide !!
Gauthier.
 

Pièces jointes

Re : Utilisation débutant d'une Cellule Active

Bonjour,

pas ouvert ton fichier, pas 2007 sous le coude, mais essaye ceci :

Code:
Private Sub CommandButton1_Click()
Dim Target As Range
Set Target = ActiveCell
Target = "Payé"

A noter, ta variable "target" ne smble pas être initialisée...;

bonne journée
@+
 
Re : Utilisation débutant d'une Cellule Active

Bonjour Lanfeust et bienvenu, bonjour le forum,

En pièce jointe ton fichier modifié.
Plusieurs remarques :
• Quand tu crées une variable évite d'utiliser un mot clé de Visual Basic. Target en est un...
• On aurait donc pu écrire :
Code:
Dim Cel As Range
Set Cel = ActiveCell
Mais dans ce cas on aurait créé une variable pour rien, autant utiliser directement ActiveCell qui renvoie la celllule active...
• Tu peux lancer une UserForm directement (
UserForm1.Show) sans passer par une procédure
• et pour finir, tu aurais pu faire beaucoup plus simple avec une Validation de Données. Regarde l'exemple colonne N (les données sont en colonne P)...

Le fichier :


[Édition]
Bonjour Pierrot on s'est croisé...
 

Pièces jointes

Re : Utilisation débutant d'une Cellule Active

Merci pour vos réponses rapides et fonctionnelles !!

Tout d'abord, que signifie "Set" pour le ActiveCell ?

Robert, merci pour les corrections qui simplifient le code. Par ailleurs je ne connaissais pas la validation de données, donc j'avais essayé avec des contrôles de formulaire, mais impossible de faire un tri car tout se décale ...

Pour rendre l'outil plus agréable, existe t'il un bout de code qui fait disparaitre le Userform si on clique n'importe ou sur la feuille ? (en gros pour éviter de passer par la croix rouge)

Edit : Je suis en train de chercher.
 
Dernière édition:
Re : Utilisation débutant d'une Cellule Active

Bonjour le fil, bonjour le forum,

L'aide VBA sur le mot clé Set dit :
Attribue une référence d'objet à une variable ou à une propriété.
On l'utilise pour définir une variable objet comme un plage Range (Set MaPlage = Range("A1:A10)) ou un onglet Sheets (Set Feuil = Sheets("Feuil1")).

En pièce jointe la version 2 modifiée. J'ai rajouté un bouton (caché sous le bouton Relancé) avec la propriété Cancel = True et le code ci-dessous :

Code:
Private Sub CommandButton4_Click()
Unload Me
End Sub
Du coup, la touche [Échap.] permet de fermer l'UserForm...

Le fichier :
 

Pièces jointes

Re : Utilisation débutant d'une Cellule Active

Magique, tout marche comme je voulais ...
Merci à toi et au temps que tu passes à aider les gens ici 🙂

Pour "Set", j'ai maintenant compris et je vais surement m'en servir pour donner un nom à ma plage de cellule et pouvoir l'agrandir quand je rajoute une ligne de données. ça devrait pas être trop sorcier ... J'ai pas encore fait de recherches là dessus.

Par contre ton 4ème bouton, je ne le vois nulle part, et je ne comprends pas son intérêt, puisque la fonction Unload est déjà présente dans les 3 boutons de commande ...

Quant à la propriété Cancel = True, je l'ai enlevée pour tester, et sa présence ou non ne semble rien changer, donc elle sert à quoi ?
 
Re : Utilisation débutant d'une Cellule Active

Bonjour le fil, bonjour le forum,

Comme je te disais dans mon précédent post, le CommandButton4 est caché derière le bouton Relancé (pour le voir il te faudrait déplacer ce bouton vers le bas). Et c'est à ce CommandButton4 que j'avais donné à la propriété Cancel la valeur True. Cela te permet de fermer l'Userform avec la touche [Échap.] si tu l'as ouvert mais tu décides de ne pas cliquer sur aucun des trois boutons...

Par exemple, quand j'utilise deux boutons (Valider et Sortir) je mets la propiété Default = True au bouton Valider et la propriété Cancel = True au bouton Sortir. Cela me permet juste de valier par la touche [Entrée] et/ou de sortir par la touche [Échap.]. Ces propriétés servent uniquement à celà...
 
Re : Utilisation débutant d'une Cellule Active

C'est ce que j'ai fait, déplacer le bouton "relancé", mais il n'y avait rien derrière ...

Ah ok pour les propriétés j'ai saisi, et c'est bien pratique ! Mais comme la propriété Cancel = True apparaissait dans le Sub de la feuille 2 et non pas dans le UserForm, je ne comprenais pas la logique =/
 
Re : Utilisation débutant d'une Cellule Active

Bonjour le fil, bonjour le forum,

C'est ce que j'ai fait, déplacer le bouton "relancé", mais il n'y avait rien derrière ...

Pfff... Si tu as sélectionné le bouton en l'encerclant avec la souris tu déplaces les deux boutons en même temps...
En version 3 la preuve irréfutable ! Hé ! Tu serais pas le fils du grand boulet toi ?

 

Pièces jointes

Re : Utilisation débutant d'une Cellule Active

J'espère que c'était de l'ironie ...! Je sais encore sélectionner un bouton et le déplacer sans forcément l'encercler, surtout que tu m'as répété 2 fois qu'un mystérieux bouton était caché derrière ...
Bon, je vais inspecter cette version 3 🙂

Edit : Argh, il était vicieux ton bouton, tout petit !! J'ai dû sortir la loupe ! (humour)

Et sinon, pour l'emplacement du Cancel = True ?
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour