Microsoft 365 Enregistrer dans une feuille mais pas dans une autre

Olive de BI

XLDnaute Nouveau
Bonjour,
J'ai un formulaire qui me permet d'enregistrer des noms, prénom et diverse données dans une feuille 01 et dans une feuille 02
Je voudrais pouvoir si le nom et prénom se trouve déjà dans la feuille 02 enregistrer ces données dans la feuille 01 mais pas la 02.
Pouvez-vous m'aider?
Merci d'avance
Code:
Worksheets(cboMois.Value).Activate
        ActiveSheet.Range("A1048576").End(xlUp).Offset(1, 0).Select
' On affecte les données du formulaire dans la source
        ActiveCell = ActiveCell.Offset(-1, 0) + 1
        ActiveCell.Offset(0, 1) = Me.txtPrenom
        ActiveCell.Offset(0, 2) = Me.txtNom
        ActiveCell.Offset(0, 3) = Me.txtEmail
        ActiveCell.Offset(0, 4) = CCur(Me.txtTarif)
        
        'On affecte les données dans la fiche bilan
        Feuil1.Select
        Feuil1.Range("A1048576").End(xlUp).Offset(1, 0).Select
        ActiveCell.Offset(0, 0) = Me.txtPrenom
        ActiveCell.Offset(0, 1) = Me.txtNom
 

Olive de BI

XLDnaute Nouveau
Bonjour
puisque nous n'avons strictement aucune idée de à quoi ressemble ton formulaire, pas plus que ton fichier..
pour chercher un élément dans une plage, il faut utiliser la méthode "find"
Merci pour la réponse,
Je me disais que la partie du code que j'ai donné pouvait suffire mais peut être pas...
Je joins le fichier
Merci pour l'attention
 

Pièces jointes

  • essai0000 - Copie.xlsm
    162.6 KB · Affichages: 4

vgendron

XLDnaute Barbatruc
c'est pas beaucoup plus clair..
c'est quoi les feuilles 01 et 02 ?

si je comprend bien ton formulaire, il permet d'enregistrer quelqu'un sur UNE feuille..
il suffit de regarder si ce quelqu'un existe déjà sur CETTE feuille..
 

Olive de BI

XLDnaute Nouveau
supprimer le test d'existence dans la feuille "mois"
Bon après bidouillage et adaptation tout marche!
Un grand merci!!!
Une dernière chose, j'essaie de trouver le moyen de créer un lien "mailto" avec l'adresse rentrée dans la textbox Email mais je n'y arrive pas. c'est dans la syntaxe Address que j'imagine le problème.
Une proposition?
voici le code:
Code:
                .ListRows.Add
                LastLine = .ListRows.Count
                .DataBodyRange(LastLine, 1) = WorksheetFunction.Max(.ListColumns(1).DataBodyRange) + 1
                .DataBodyRange(LastLine, 2) = Me.txtPrenom
                .DataBodyRange(LastLine, 3) = Me.txtNom
                .DataBodyRange(LastLine, 4) = Me.txtEmail
                .DataBodyRange(LastLine, 5) = CCur(Me.txtTarif)
                ActiveSheet.Hyperlinks.Add Anchor:=.DataBodyRange(LastLine, 4), Address:="mailto: Me.txtEmail?"
 

vgendron

XLDnaute Barbatruc
pour le lien vers le mail, il suffit d'écrire la formule
=lien_hypertexte("mailto: Adresemail")

en vba ca donne ceci
VB:
.ListRows.Add
                LastLine = .ListRows.Count
                .DataBodyRange(LastLine, 1) = WorksheetFunction.Max(.ListColumns(1).DataBodyRange) + 1
                .DataBodyRange(LastLine, 2) = Me.txtPrenom
                .DataBodyRange(LastLine, 3) = Me.txtNom
                .DataBodyRange(LastLine, 4).Formula = "=Hyperlink(""mailto:" & Me.txtEmail & """)"
                .DataBodyRange(LastLine, 4).NumberFormat = "General"
                .DataBodyRange(LastLine, 5) = CCur(Me.txtTarif)


PS:il va peut etre falloir empecher/desactiver la recopie automatique des formules sur la colonne mail
==> il doit y avoir une icone (sur le coin de la cellule) en forme d'éclair (?)
 

Olive de BI

XLDnaute Nouveau
@RyuAutodidacte et @vgendron
Merci mille fois pour votre précieux temps et pour vos contributions!
Grace à vos apports j'ai pu trouver ce que je cherchais à faire (entre autre) à savoir entrer une adresse mail dans une textbox de mon formulaire et par le bouton "nouveau" enregistrer cette donnée sur une feuille dans un tableau en lien "mailto:" cliquable. Voici le code qui fonctionne pour moi.
Code:
            With .ListObjects(1)

                'arriver ici signifie que le patient n'est pas dans le mois choisi
                .ListRows.Add
                LastLine = .ListRows.Count
                .DataBodyRange(LastLine, 1) = WorksheetFunction.Max(.ListColumns(1).DataBodyRange) + 1
                .DataBodyRange(LastLine, 2) = Me.txtPrenom
                .DataBodyRange(LastLine, 3) = Me.txtNom
                .DataBodyRange(LastLine, 4) = Me.txtEmail
                .DataBodyRange(LastLine, 5) = CCur(Me.txtTarif)
                ActiveSheet.Hyperlinks.Add Anchor:=.DataBodyRange(LastLine, 4), Address:="mailto:" & Me.txtEmail.Value
            End With
Merci encore!
Belle fin de journée
 

Discussions similaires

Réponses
21
Affichages
986

Statistiques des forums

Discussions
312 206
Messages
2 086 222
Membres
103 159
dernier inscrit
FBallea