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

XL 2016 Extraction d'information dans cadre suivant sélection

  • Initiateur de la discussion Initiateur de la discussion GUY rrr
  • 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 !

GUY rrr

XLDnaute Occasionnel
Bonjour le forum,

Je rencontre un problème que je ne suis pas en capacité de solutionner.
Je souhaite afficher dans un cadre des informations concernant un client sélectionné.
J'imagine que ceci peut-être effectué par macro mais je ne sais pas comment faire ... 🙁.

Auriez-vous des pistes ? Je joins un fichier exemple.

Merci pour vos propositions.

Meilleurs vœux pour cette nouvelle année

Cordialement
 

Pièces jointes

Bonsoir @GUY rrr, le fil,

bonne année 2021, et meilleurs vœux ! 🥳

voici une deuxième solution. 🙂

sélectionne C26 ; puis C25 ; regarde aussi ce qui se passe
quand tu sélectionnes par exemple C28. 😜

j'ai aussi modifié un peu ta sub Worksheet_Change().

code VBA complet :


VB:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim cel As Range
  With Target
    If .Column = 1 And .Count = 1 Then
      If .Value <> "" Then
       On Error Resume Next
       Set cel = [noms].Find(.Value, LookAt:=xlWhole)
       If Err = 50290 Then Exit Sub
       If cel Is Nothing Then Application.Undo
      End If
    End If
  End With
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  With Target
    If .CountLarge > 1 Then Exit Sub
    If .Column <> 3 Then Exit Sub
    If .Row < 23 Then Exit Sub
    Dim vx$: vx = .Value
    If vx = "" Then [F11].Resize(8).ClearContents: Exit Sub
  End With
  Dim cel As Range, lig&
  With Worksheets("BDD Client")
    Set cel = .Columns(1).Find(vx, , -4163, 1, 1)
    If cel Is Nothing Then Exit Sub
  End With
  Application.ScreenUpdating = 0
  With [F11]
    .Value = cel                   'nom du client
    .Offset(1) = cel.Offset(, 7)   'date de naissance
    .Offset(3) = cel.Offset(, 2)   'adresse
    .Offset(4) = cel.Offset(, 4)   'n° téléphone 1
    .Offset(5) = cel.Offset(, 5)   'n° téléphone 2
    .Offset(7) = cel.Offset(, 1)   'IP
  End With
End Sub

si besoin, tu peux demander une adaptation.
à te lire pour avoir ton avis.


soan
 

Pièces jointes

Dernière édition:
Bonsoir soan, M12, le forum,

Deuxième solution qui prend en compte les cellules vides et permet de ne pas "polluer visuellement et inutilement" la feuille.
Un grand MERCI à vous pour l'amélioration 👍
 
@GUY rrr

j'ai modifié le fichier de mon post précédent
car j'avais oublié le gel de l'écran :


Application.ScreenUpdating = 0

tu verras qu'ainsi, l'affichage est plus fluide. 🙂

merci pour ton retour du post #5. 😊


soan
 
- 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
4
Affichages
1 K
Réponses
0
Affichages
778
Réponses
0
Affichages
910
  • Résolu(e)
Microsoft 365 Macro VBA
Réponses
16
Affichages
3 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…