Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Afficher valeur d'une cellule dans une autre en simple clic

  • Initiateur de la discussion Initiateur de la discussion BLACKHAYES
  • Date de début Date de début

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 !

BLACKHAYES

XLDnaute Impliqué
bonsoir le forum

je souhaiterais pouvoir afficher la valeur d'une cellule en "c12:c21" en cellule H8 juste en cliquant dessus.

est ce possible

cordialement,
BLACKAHAYE's
 

Pièces jointes

Re : Afficher valeur d'une cellule dans une autre en simple clic

Bonsoir BLACKHAYES,

Une soultion, à placer dans le code de Feuil1 :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim r As Range
With [C12:C21] 'à adapter
  .Offset(, 1).Resize(, Columns.Count - .Column).ClearContents
  If ActiveCell = "" Or Intersect(ActiveCell, .Cells) Is Nothing Then Exit Sub
End With
With ActiveCell
  Set r = Feuil2.Cells.Find(.Value, , xlValues, xlWhole)
  If r Is Nothing Then Exit Sub
  .Offset(, 1).Resize(, Columns.Count - .Column) = _
     r(1, 2).Resize(, Columns.Count - r.Column).Value
  .EntireRow.Replace "#N/A", ""
End With
Set r = Me.UsedRange 'repositionne la barre de défilement horizontale
End Sub
A+
 
Re : Afficher valeur d'une cellule dans une autre en simple clic

Re,

Si l'on veut une mise en forme des données copiées :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim r As Range
With [C12:C21] 'à adapter
  .Offset(, 1).Resize(, Columns.Count - .Column).Clear
  If ActiveCell = "" Or Intersect(ActiveCell, .Cells) Is Nothing Then Exit Sub
End With
With ActiveCell
  Set r = Feuil2.Cells.Find(.Value, , xlValues, xlWhole)
  If r Is Nothing Then Exit Sub
  .Offset(, 1).Resize(, Columns.Count - .Column) = _
     r(1, 2).Resize(, Columns.Count - r.Column).Value
  .EntireRow.Replace "#N/A", ""
  '---mise en forme---
  Set r = Cells(.Row, Columns.Count).End(xlToLeft)
  If r.Column > .Column Then
    With Range(.Offset(, 1), r)
      .Interior.ColorIndex = 6 'jaune
      .Borders.Weight = xlThin
    End With
  End If
End With
'---repositionne la barre de défilement horizontale---
Set r = Me.UsedRange
End Sub
A+
 
Re : Afficher valeur d'une cellule dans une autre en simple clic

re, job75

Votre fonctionne tres bien, mais est il possible d'avoir la valeur de C12 (par exemple) s'afficher en "G8" car pour l'instant dans mon tableau reel ca ecrase toutes mes autres données

je voulais juste pouvoir afficher en cliquant sur une cellule d'une colonne donnée, afficher sa valeur dans une autre cellule (pour l'instant en "H8" car j'ai de la place, mais ca je pourrais l'adapter ensuite)
et ensuite a partir de "H8" je ferais une "rechercheV" pour afficher le reste des données dont j'ai besoin.

A moins que je puisse dans votre code modifié l'emplacement des resultat !!?

je pense que je me suis mal expliqué precedemment, et je m'en excuse car vous avez realiser un gros travail.
cordialement,
BLACKHAYE's
 
Re : Afficher valeur d'une cellule dans une autre en simple clic

Re,

Comme vous voulez, c'est moins élégant et un peu plus simple :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim dest As Range, r As Range
Set dest = [G8] 'à adapter
Application.ScreenUpdating = False
dest.Resize(, Columns.Count - dest.Column + 1).Clear 'RAZ
If ActiveCell = "" Or Intersect(ActiveCell, [C12:C21]) Is Nothing Then Exit Sub
Set r = Feuil2.Cells.Find(ActiveCell, , xlValues, xlWhole)
If r Is Nothing Then Exit Sub
'---copie les valeurs---
dest.Resize(, Columns.Count - dest.Column + 1) = _
  r.Resize(, Columns.Count - r.Column + 1).Value
dest.EntireRow.Replace "#N/A", ""
'---mise en forme---
Set r = Cells(dest.Row, Columns.Count).End(xlToLeft)
With Range(dest, r)
  .Interior.ColorIndex = 6 'jaune
  .Borders.Weight = xlThin
End With
'---repositionne la barre de défilement horizontale---
Set r = Me.UsedRange
End Sub
Bonne fin de soirée.
 
Dernière édition:
Re : Afficher valeur d'une cellule dans une autre en simple clic

Re,

J'ai ajouté Application.ScreenUpdating = False dans la macro précédente pour que l'effacement ne se voie pas.

A+
 
Re : Afficher valeur d'une cellule dans une autre en simple clic

Bonjour, job75; le forum,

Et bien je ne peut que vous dire un grand merci pour votre travail,
c'est exactement ce que je voulais.
Et encore désolé de vous avoir fait faire du travail pour supplementaire.

vraiment vous etes extraordinaire,
Comme vous avez peut etre du le voir, je m'essai dans le vba, mais ce n'est pas du tout evident pour moi, j'essais detrouver tout seul avant de venir chercher de l'aide sur le site, mais j'ai beaucoup de mal, car ne parlant pas l'anglais, je ne comprends pas toujours le sens technique des phrases de code.
je creer de memoire, et apparemment, il peut y avoir plusieurs type de code pour la meme demande.
pourtant j'aimerais bien en savoir plus, car j'aime bien realiser des petits formulaires, des userforms, etc

bref, merci a vous, votre aide m'a été tres precieuse
cordialement,
bonne journée a vous et a bientot,
BLACKHAYE's
 
- 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

Réponses
17
Affichages
479
Réponses
3
Affichages
269
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…