Carnet d'adresse

patau18

XLDnaute Junior
Bonjour à tous comme je ne suis pas une bête sous excel ,j'aurai besoin d'un petit coup de main ,je voudrais dans une cellule recherche entrer le nom d'une personne et que cela me donne la fiche complête de cette personne (adresse,tel,mail ect..)
merci d'avance
 

patau18

XLDnaute Junior
Re : Carnet d'adresse

Ok merci Camarchepas, bon je vais essayer d'être pluis clair !,le lien Lien supprimé c'est ca mais je voudrais avoir ,ailleur ,peut etre sur une autre feuille la possibilité de faire une recherche dans cette base de données (carnet d'adresse)à partir d'un nom contenu dans le carnet d'adresse qui me donnerai les infos suivantes adresse ,mail ,tel ect ..
merci cordialement
 

patau18

XLDnaute Junior
Re : Carnet d'adresse

Bonsoir que vous êtes patient merci et merci encore ,je joins un petit fichier donc je voudrais pouvoir faire une recherche juste en entrant le nom dans une case voir même sur une autre feuille qui me donnerait toute les info concernant ce nom
voilà merci ;)
 

Pièces jointes

  • adresse.xlsx
    10.4 KB · Affichages: 172
  • adresse.xlsx
    10.4 KB · Affichages: 164
  • adresse.xlsx
    10.4 KB · Affichages: 169

camarchepas

XLDnaute Barbatruc
Re : Carnet d'adresse

Patau ,

Et bien voilà une première démo sans prétention,

y'a plein de choses non verrouillées , mais bon , ça fonctionne.

J'ai ajouté quelque critères , mais je m'aperçois en écrivant , qu'il manque surement code postal et ville voir Pays ,
comme quoi , le cahier des charges initial est important , lorsqu'il faut reprendre le formulaire , c'est toujours dommage , bon une info ou 2 on est jamais çà l'abri , mais plus c'est dommage .

Enfin j'attends ton retour .

A oui dans la feuille cliques sur la loupe et dans le formulaire , remplis nom et éventuellement prénom un clic sur loupe et hop les infos remontes .
Tu peux également corriger ou compléter les infos .

Créer également un nouveau contact .
 

Pièces jointes

  • adresse.xlsm
    51.7 KB · Affichages: 220
  • adresse.xlsm
    51.7 KB · Affichages: 219
  • adresse.xlsm
    51.7 KB · Affichages: 230

patau18

XLDnaute Junior
Re : Carnet d'adresse

ok merci, c'est tout à fait ça , c'est bien la connaissance ,et surtout de l'avoir ! sans vouloir abuser comment réalises tu tout ça ,et puis ajouter d'autre ligne ,est ce possible je sais je suis un vrai em......... merci à toi Nono;)
 

camarchepas

XLDnaute Barbatruc
Re : Carnet d'adresse

Bonjour Patau ,

Pour les lignes tu peux les ajouter soit directement sur la feuille soit via le formulaire ,

A moins que tu parles de lignes sur le formulaire autrement dit de criteres , bien oui , bon pas trop ou alors il faut que tu apprennes à le faire ....

Comment je fais ça , ben avec du code vba .

Une partie dans le formulaire , une autre dans un module et voilà , bon , j'ai dû mettre environ 30 à 35 minute mn pour faire tous cela .

Et oui , ça fait tout de suite plus sérieux et au niveau Décorum , y'a du temps à passer aussi , mais c'est trop perso , donc je suis resté très light

Bon , là j'ai plus le temps , mais si tu veux , je te commente le code , te dis où ça se situe , mais bon , j'ai pas la prétention de t'apprendre le VBA en 10 mn chrono.

Si t'es ok pour un mode d'emploi pouusé dit le moi , je vais te construire cela . si tu as des modifs , je peux aussi te les faire en attendant que tu saches ....

Allez moi , je pars au Taf .
Bonne journée Ps : Patau , c'est le surnom de la peluche fétiche de ma fille -- Lol
 

patau18

XLDnaute Junior
Re : Carnet d'adresse

Salut franchement c'est super sympa d'avoir pris le temp ,et je te remercie pour tout,et je suis ok pour des infos sur tout ça ,voir meme des astuces ou conseils pour apprendre ,mais quand tu auras le temp ,pour mon pseudo c'est le nom d'un super chien que j'ai (briard) grosse peluche en attendant merci encore et @ bientôt ;)
 

camarchepas

XLDnaute Barbatruc
Re : Carnet d'adresse

Patau bonjour ,

je profite d'un peu de temps pour te décortiquer le code utilisé /

Bon posons que la loupe appelle la routine formulaire, celle ci ouvre le formulaire userform1

ensuite l'on attends un appui bouton ou image

Le formulaire utilisera pour la recherche une fonction commune du module

Code du module
Code:
'Oblige la déclaration des variables et objets
Option Explicit

'Ouverture de la function recherche ayant comme paramètres obligatoire nom et prénom
 'elle renverra un numéro de ligne si trouvé et la premiere ligne libre si non trouvé
Function Recherche(Nom As String, Prénom As String) As Long
'Déclaration des objets zone pour le retour de la fonction find
Dim Trouve As Range, Trouve2 As Range
'Variables contenant un numéro de ligne
Dim Ligne As Long, Derligne As Long

'Calcul de la derniere ligne
Derligne = Range("B" & Rows.Count).End(xlUp).Row
'Recherche du nom dans la colonne B
Set Trouve = Range("B:B").Find(Nom, lookat:=xlWhole)
'Etiquette pour saut
Boucle:
 'Si le nom est trouvé
 If Not Trouve Is Nothing Then
  'Si le paramètre prénom n'est pas vide
  If Prénom <> "" Then
  'Recherche du prénom dans la colonne C en commençant à la ligne ou le nom à été trouvé jusqu'a la derniere ligne de cette colonne
   Set Trouve2 = Range("C" & Trouve.Row & ":C" & Derligne).Find(Prénom, lookat:=xlWhole)
  'Si prénom trouvé 
  If Not Trouve2 Is Nothing Then
    'Charge ligne avec le numéro de ligne contenant le prénom 
    Ligne = Trouve2.Row
     'Si la ligne ou à été trouvé le prénom contient en colonne b le nom cherché et en c le prénom cherché alors 
     If Range("B" & Ligne) = Nom And Range("C" & Ligne) = Prénom Then
       'Le retour de fonction renvoi le numéro de ligne 
       Recherche = Ligne
       'Sinon
      Else
       'Recherche du suivant
       Set Trouve = Range("B:B").FindNext
       'Saute sur l'étiquette boucle
       GoTo Boucle
     End If
    'Sinon
    Else
     Retour de fonction = 1° ligne disponible
     Recherche = Derligne + 1
   End If 
  'Sinon
   Else
    'Retour = ligne ou l'on a trouvé le nom
    Recherche = Trouve.Row
  End If
  'sinon 
  Else
   'Retour = 1° ligne dispo
   Recherche = Derligne + 1
 End If
End Function

Sub Formulaire()
'Chrgement + affichage du formulaire
UserForm1.Show
End Sub

Code du formulaire

Code:
Option Explicit
' Routine privée - uniquement disponible dans le userform
' Correspond au bouton ajout modifier
Private Sub CommandButton1_Click()
'Ajout, Modification
Dim Ligne As Long
'Appel de la fonction recherche
Ligne = Recherche(TextBox1.Text, TextBox2.Text)
'Copie de l'ensemble des box vers les cellules de la feuille
Range("B" & Ligne) = TextBox1.Text
Range("C" & Ligne) = TextBox2.Text
Range("D" & Ligne) = TextBox3.Text
Range("E" & Ligne) = TextBox4.Text
Range("F" & Ligne) = TextBox5.Text
Range("G" & Ligne) = TextBox6.Text
Range("H" & Ligne) = TextBox7.Text
Range("I" & Ligne) = TextBox8.Text
Range("J" & Ligne) = TextBox9.Text
'Cache le userform
Me.Hide
End Sub

'Bouton de sortie formulaire
Private Sub CommandButton2_Click()
'Sortie formulaire
'Cache le formulaire
Me.Hide
End Sub

'Lance la recherche
Private Sub Image1_Click()
'Recherche
Dim Ligne As Long
'Appel de la fonction recherche
Ligne = Recherche(TextBox1.Text, TextBox2.Text)
'recopie des cellules de la feuille vers les box du formulaire 
TextBox1.Text = Range("B" & Ligne)
TextBox2.Text = Range("C" & Ligne)
TextBox3.Text = Range("D" & Ligne)
TextBox4.Text = Range("E" & Ligne)
TextBox5.Text = Range("F" & Ligne)
TextBox6.Text = Range("G" & Ligne)
TextBox7.Text = Range("H" & Ligne)
TextBox8.Text = Range("I" & Ligne)
TextBox9.Text = Range("J" & Ligne)
End Sub
 

patau18

XLDnaute Junior
Re : Carnet d'adresse

Salut , et bien merci je vais essayer de comprendre tout ça, cela devrait être drôle je pense ,et si je veux ajouter une ligne complète sur ce tableau pour un nouveau contact !! dois je faire une modification dans le module
PS/ modifier le userform j'ai réussi
de longue soirée pour moi !!!!!
merci de ta patience
Bon dimanche ,ici en région centre il fait froid et pas beau
 

patau18

XLDnaute Junior
Re : Carnet d'adresse

Bon je suis toujours dans mon tableau ,petite question !! dans le tableau uuserform ,après une recherche quand il affiche toutes les infos est il possible de rendre l'adresse mail active ! c'est à dire que si je clique dessus j'ouvre ma boite mail par défaut,et si je mets un lien dans info qu'il soit actif pour me renvoyer vers des infos stockés sur la même feuille mais plus bas ,pas facile à expliquer lol merci
 

camarchepas

XLDnaute Barbatruc
Re : Carnet d'adresse

Patau , non pas facile

Souvant un dessin vaut mieux que plein d'explication ,
là sur Excel , tu envois une feuille avec ce que tu veux et en principe quelques heures plus tard tu l'as , bon des fois pour les miracles , il faut attendre un peu voir beaucoup , j'ai toujours pas trouvé la macro qui trouve les bons numéros du loto , dommagggge.

Oui pour l'adresse mail en lien hypertexte , c'est tout à fait possible , j'attends ton petit plan de ce que tu veux en " bas de la feuille , peut être pour construire ton corps de mail ... par exemple.
 

patau18

XLDnaute Junior
Re : Carnet d'adresse

Bon salut ,nono ,je vois que je m'explique toujours aussi mal ,lol ;),donc ci joint petit capture d'image en espérant que je sois plus clair , dis moi comment puis je commencer le langage VBA?MERCI
 

Pièces jointes

  • tableau.jpg
    tableau.jpg
    70.4 KB · Affichages: 465
  • adresse.xlsm
    55.4 KB · Affichages: 168
  • tableau.jpg
    tableau.jpg
    70.4 KB · Affichages: 422
  • adresse.xlsm
    55.4 KB · Affichages: 140
  • tableau.jpg
    tableau.jpg
    70.4 KB · Affichages: 953
  • adresse.xlsm
    55.4 KB · Affichages: 184

Statistiques des forums

Discussions
312 923
Messages
2 093 663
Membres
105 780
dernier inscrit
Autric