Vba - récupérer valeur cellule d'une ligne sélectionnée

rouillld

XLDnaute Nouveau
Bonjour à toutes et à tous.

J’ai passé beaucoup de temps à faire des recherches dans de multiples forums, mais je n’ai pas réussi à trouver exactement les réponses à mes recherches.

Je vais essayer d’être le plus clair possible, d’autant plus que mes connaissances en VBA sont limitées...

Voir le classeur Excel en pièce jointe...


En premier lieu, je désirerais récupérer dans une variable la valeur de la cellule de la 3e colonne d’une ligne sélectionnée. Par exemple pour la ligne 12, il s’agirait de récupérer la valeur de la cellule C12 (2 dans ce cas de figure…). Fonction Range(selection…) à utiliser ?

En second lieu, de la même manière que la fonction nb.si, je voudrais utiliser cette valeur pour compter le nombre de cellules de caractéristiques identiques dans la colonne C. Dans ce cas de figure, 3 cellules ont la valeur 2. Fonction CountIf à utiliser ?

Merci d’avance, bonne soirée…
 

Pièces jointes

  • Exemple.xls
    37.5 KB · Affichages: 285
  • Exemple.xls
    37.5 KB · Affichages: 312
  • Exemple.xls
    37.5 KB · Affichages: 294

kjin

XLDnaute Barbatruc
Re : Vba - récupérer valeur cellule d'une ligne sélectionnée

Bonsoir,
Tout dépend de la procédure et son application
Ici, teste la colonne C en fonction de la ligne de la cellule active
Code:
Set c = Cells(ActiveCell.Row, 3)
Set rng = Range("C9:C" & Range("C65000").End(xlUp).Row)
MsgBox "il y a " & Application.CountIf(rng, c) & " valeurs égales à " & c
A+
kjin
 

rouillld

XLDnaute Nouveau
Re : Vba - récupérer valeur cellule d'une ligne sélectionnée

Bonsoir, merci pour ta réponse, j’ai réussi à effectuer une partie de ce que je voulais en bidouillant un peu (voir bouton dans le fichier joint) :

Sub Selection_Rang_2_rang_3()

Set s = Selection
Set c = Cells(ActiveCell.Row, 4)
Set rng = Range("d1:d" & Range("d65536").End(xlUp).Row)

s.Resize(Application.CountIf(rng, c)).Select

End Sub

Bon, ce n’est pas formidable mais grâce au code ci-dessus, si je sélectionne une ligne de rang 2 (valeur colonne B), toutes les lignes de N° de zone (colonne D) identiques sont sélectionnées. Dans le cadre d’un profil d’affichage particulier, où seules les lignes de rang 1 et 2 sont affichées, cela me permet de copier-coller ou couper-coller en sélectionnant aussi les lignes de rang 3 associées…

Maintenant, j’ai plusieurs problèmes pour arriver à ce que je souhaite :
1 – il faudrait que cette macro se lance en même temps que le profil d’affichage « rang 1 + rang 2 » dans mon fichier exemple 2
2 – cette macro doit être active à chaque fois que j’effectue la sélection d’une ligne de rang 2, et ce, tant que je suis sur ce profil d’affichage
3 – si je change de profil d’affichage (« afficher tout » par exemple), alors cette macro doit s’arrêter…

Si quelqu’un peut m’aider un peu…

Merci d’avance
 

Pièces jointes

  • Exemple 2.zip
    13.7 KB · Affichages: 308
  • Exemple 2.zip
    13.7 KB · Affichages: 289
  • Exemple 2.zip
    13.7 KB · Affichages: 315

Discussions similaires

Réponses
6
Affichages
204