selection de cellule sous macro

matsam

XLDnaute Nouveau
Bonjour,

Je cherche à créer une macro qui reconnaisse sur quelle cellule de la feuille on a cliqué. Je sui entrain d'essayer de réaliser une fonction permettant de detecter la ligne et la colonne de la cellule selectionnée. J'ai cependant un problème : lorsque je clique sur la macro, ça ne selectionne pas en meme temps la cellule se trouvant dessous et donc ma fonction ne sert a rien.

Est il possible de faire en sorte qu'en cliquant sur une macro, la cellule se trouvant dessous soit selectionnée?

Merci
 

Pierrot93

XLDnaute Barbatruc
Re : selection de cellule sous macro

Bonjour Matsam

regarde le code ci-dessous si il peut t'aider, à placer dans le module de la feuille concernée :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'numéro ligne selectionnée
MsgBox Target.Row
'numéro colonne selectionnée
MsgBox Target.Column
'cellule du dessous
MsgBox Target.Offset(1, 0).Address
End Sub

bonne journée
@+
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : selection de cellule sous macro

Bonjour le fil, bonjour le forum,

Code à placer dans le composant ThisWorkbook.
Code:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim ong As String
Dim li As Long
Dim lc() As String
Dim col As Byte
 
ong = Sh.Name
li = ActiveCell.Row
lc = Split(ActiveCell.Address, "$", -1, vbTextCompare)
col = ActiveCell.Column
MsgBox "Onglet : " & ong & Chr(13) & "Ligne : " & li & Chr(13) & "Lettre Colonne : " & lc(1) & Chr(13) & "Colonne : " & col
End Sub
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : selection de cellule sous macro

Bonjour le fil, bonjour le forum,

Tu ouvres VBE (Visual Basic Editor) par la combinaison de touches [Alt] + [F11]. Dans la partie de gauche, tu verras les composants de ton projet (de ton classeur). Tu double-cliques sur le composant ThisWorkbook et tu colles le code que je t'ai proposé dans la partie de droite. Ou, tu double-cliques sur l'onglet concerné (Feuil1(Feuil1) par exemple) et tu colles le code de notre ami Pierrot...
la différence c'est que mon code fonctionne sur tous les onglets du classeur (ce qui peut te rendre fou...) tandis que celui de Pierrot cible uniquement l'onglet qui t'interesse.

Ooooop ! Je n'ai pas regardé l'exemple de PierreJean...
 
Dernière édition:

matsam

XLDnaute Nouveau
Re : selection de cellule sous macro

Merci beaucoup ça marche super!

Maintenant j'ai un autre petit problème : j'ai créé des rectangles sur chaque cellule(chaque rectangle représente un mois) et chaque rectangle est associé a une macro.je voulais savoir si il est possible de selectionner la cellule sous la macro en meme temps et donc de pouvoir obtenir les lignes et colonnes de cette cellule sous la macro pour les exploiter dans cette meme macro?

J'espere etre compréhensible.

Merci!
 

Pierrot93

XLDnaute Barbatruc
Re : selection de cellule sous macro

Re,

chaque rectangle est associé à une macro différente, ou bien la même procédure est appelée ? quel type de rectangle ? ils sont bien considérés comme des "shapes"... un petit fichier avec ton code et le problème posé serait mieux....
 

matsam

XLDnaute Nouveau
Re : selection de cellule sous macro

Voici mon fichier. les rectangles sont ceux présents sur la feuille je pense qu'ils sont définis comme shape. Chaque rectangle est associé à la même procédure, mais le graphique créé par cette procédure doit dépendre de la macro selectionnée et donc du rectangle sur laquelle on se trouve. C'est ici que je bloque.

Merci
 

Pièces jointes

  • Classeur1.xls
    41.5 KB · Affichages: 87
  • Classeur1.xls
    41.5 KB · Affichages: 101
  • Classeur1.xls
    41.5 KB · Affichages: 91

Pierrot93

XLDnaute Barbatruc
Re : selection de cellule sous macro

Re,

regarde ce code, fonctionne chez moi sur tes rectangles :

Code:
   MsgBox Feuil1.Shapes(Application.Caller).TopLeftCell.Address

ou ceci :

Code:
Range(Feuil1.Shapes(Application.Caller).TopLeftCell.Address).Select

Attention, actif uniquement lors du click sur le rectangle... pas par la touche F8 dans l'éditeur vba...

bonne fin d'après midi
@+
 

matsam

XLDnaute Nouveau
Re : selection de cellule sous macro

Rebonjour,

J'ai un problème bizare, cette ligne de code fonctionne tres bien sur le classeur que j'ai envoyé avec seulement une partie de mon programme mais ne fonctionne pas sur mon fichier complet. Y aurait il un detail ou quelque chose de flagrant que j'ai oublié? Je ne peux pas envoyer le fichier complet, il est trop gros mais j'espere que ça n'a pas de rapport avec les autres procédures.

Merci
 

matsam

XLDnaute Nouveau
Re : selection de cellule sous macro

Merci!
Maintenant c'est bon en fait j'ai du changer " MsgBox Feuil1.Shapes(Application.Caller).TopLeftCell.Address " en " MsgBox ActiveSheet.Shapes(Application.Caller).TopLeftCell.Address " alors que j'avais bien changé le nom de la feuille je ne comprends pas. En tout cas la séléction fonctionne bien merci beaucoup.

Cependant, j'essaye de mettre les attributs obtenus dans la fonction privatesub définie plus haut ( celle qui permet d'obtenir les lignes et colonnes de la cellule selectionée) mais ceux ci ne sont pas "transmis" , dois-je faire quelquechose de special?

Merci
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 756
Messages
2 091 734
Membres
105 060
dernier inscrit
DEDJAN Gaston