Microsoft 365 Contrôle sur nom et prénom d'un classeur a l'autre classeur

jcf6464

XLDnaute Impliqué
Bonjour à vous tous et bonne fête de Noël,

J’ai une question peut-on vérifier un nom et prénom dans deux colonne quand on transfère ceux-ci d'un classeur vers un autre classeur,

Disons que je saisie le nom prénom par l’intermédiaire d’un userform dans le classeur MATRICE-Gestion-des-pilotes---Forum dans ce userform j’ai un bouton qui me permet de transférer ce nom et prénom dans le classeur Carnet_Adresse_Pilotes cela fonctionne mais je souhaiterai vérifier le nom et prénom dans le classeur Carnet_Adresse_Pilotes (s’il existe on sort de la boucle avec message « ce pilote existe déjà ») et l’on reviens sur userform,
si le nom prénom n’existe pas on continue la boucle a l’enregistrement (msgbox « le pilote est bien enregistrer ») et l’on sauve le carnet et l’on ferme le Carnet_Adresse_Pilotes et l’userform de saisie ,

Note1 : le bouton récup pilote n’apparaitra que dans la situation modifier
Note2 : les deux classeurs dans le même répertoire

Bonne journée jcf

Fichier :https://www.cjoint.com/c/NLyolLHn7qu
 

Pièces jointes

  • Carnet_Adresse_Pilotes.xlsm
    37.1 KB · Affichages: 4

sousou

XLDnaute Barbatruc
Bonsoir
insere sous with workbook les lignes ci-dssous
With Workbooks.Open(chemin & fichier).Sheets(1) 'ouvre le fichier
nomprenom = Me.tb4 & Me.tb5
Set tableau = .ListObjects("T_ListePilotes")
For n = 1 To tableau.ListRows.Count
np = tableau.ListColumns("nom").Range.Rows(n) & tableau.ListColumns("prenom").Range.Rows(n)
If np = nomprenom Then MsgBox "existe": Exit Sub
Next
Bon fete de noel
 

jcf6464

XLDnaute Impliqué
Bonsoir
insere sous with workbook les lignes ci-dssous
With Workbooks.Open(chemin & fichier).Sheets(1) 'ouvre le fichier
nomprenom = Me.tb4 & Me.tb5
Set tableau = .ListObjects("T_ListePilotes")
For n = 1 To tableau.ListRows.Count
np = tableau.ListColumns("nom").Range.Rows(n) & tableau.ListColumns("prenom").Range.Rows(n)
If np = nomprenom Then MsgBox "existe": Exit Sub
Next
Bon fete de noel
Re
Merci de ta réponse cela fonctionne pour le premier pilote A4 enregistrer mais pas pour le second A5 l'enregistre de nouveau,

bonne soirée de Noël

jcf
 

sousou

XLDnaute Barbatruc
bonjour
remplace comme ceci (databodyrange) 🎅
nomprenom = Me.tb4 & Me.tb5
Set tableau = .ListObjects("T_ListePilotes")
For n = 1 To tableau.ListRows.Count
np = tableau.ListColumns("nom").DataBodyRange.Rows(n) & tableau.ListColumns("prenom").DataBodyRange.Rows(n)
If np = nomprenom Then MsgBox "existe": Exit Sub
Next
 

jcf6464

XLDnaute Impliqué
Bonjour et bon Noël,
Merci de ta réponse cela va mieux,
Je souhaiterai que le userform se ferme sur l'action (recup pilote) et que cela ferme le carnet si le nom existe
Car pour l'instant il trouve le nom existant mais le userform reste ouvert avec par dessus une page excel
Bonne journée jcf
Capture d’écran 2024-12-25 112457.jpg
 

jcf6464

XLDnaute Impliqué
Bonsoir à vous tous et toutes,

Un petit problème sur le classeur définitif j'ai la fenêtre AIDE de Microsoft qui s’ouvre par-dessus l'userform après avoir valider recup pilote voir image
Si quelque-un passe par la pour éclairer ma lanterne,

bonne soirée jcf

Capture d’écran 2024-12-25 174317.jpg
 

sousou

XLDnaute Barbatruc
re
A la manière dont ton programme est fait
modifie comme-ceci
ca n'explique pas l'image que tu envois, mais
l'objectif est de fermer le classeur "carnet d'adresses" avant de valider
il semble y avoir un mélange entre le classeur actif et le second
ta programmation ne me semble pas assez rigoureuse, mais je n' ai pas tout étudié

With Workbooks.Open(chemin & fichier).Sheets(1) 'ouvre le fichier
nomprenom = Me.tb4 & Me.tb5
Set tableau = .ListObjects("T_ListePilotes")
For n = 1 To tableau.ListRows.Count
np = tableau.ListColumns("nom").DataBodyRange.Rows(n) & tableau.ListColumns("prenom").DataBodyRange.Rows(n)
If np = nomprenom Then
Range("A1").Select 'on reviens sur la feuille pilotes en A1
MsgBox "existe":
.Parent.Close savechanges:=False
Exit Sub
End If
 

jcf6464

XLDnaute Impliqué
bonsoir sousou,
Attention sur le classeur que j'ai mis en post 1 n'est pas tout a fait identique que me miens,

La photo explication:
1-je choisie un nom par le userform (modifier) je clique sur le bouton (recup pilote)
le message s'affiche cela est OK mais des que le message (existe) s'affiche la page de microsoft la ou il y a marqué contoso s'affiche par dessus l'userform et impossible de la supprimer,

bonne soirée jcf
 

jcf6464

XLDnaute Impliqué
Bonjour à vous tous et le forum

Merci sousou
T'on code fonctionne bien sur le classeur du post1 idem sur le classeur définitif,
mais sur le classeur définitif il y a cette bizarrerie,

le classeur définitif trop volumineux pour l'envoyer
--En supprimant le message (MsgBox) je n'ai plus cette bizarrerie,


bonne journée jcf
 
Dernière édition:

Discussions similaires

  • Question
Microsoft 365 Nom et prénom
Réponses
3
Affichages
431

Statistiques des forums

Discussions
315 242
Messages
2 117 698
Membres
113 270
dernier inscrit
Maximax