Microsoft 365 Enregistrer dans une feuille mais pas dans une autre

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 !

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
 
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

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?"
 
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 (?)
 
@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
 
- 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
21
Affichages
2 K
Retour