Microsoft 365 Savoir dans la colonne si les numéros existent

dubarre

XLDnaute Occasionnel
Bonjour je viens vous embêter car j'ai une petite question à vous poser j'ai une base de données avec des numéros de client je voudrais savoir si il existe un code VBA dans que je peux mettre dans mon userform1 dans la textbox17 concernée pour savoir si ce numéro existe un message d'alerte me prévient sinon il ne fait rien je sais que je dois l'entrée avec le code if mais je ne sais pas quoi mettre dedans pour ça svp je vous remercie de votre aide.
 
Solution
Bonsoir @dubarre , @youky(BJ)

Très bien ta version avec un nouvel UserForm pour faire les Filtres ca donnera de bonnes idées à Dubarre pour éviter d'avoir un button par pays dans son Userform6.
Mais du coups Youky tu t'es "échappé" de tous les bugs en partant de zéro sur un nouvel USF ;) !
Par contre en imprimant la carte Artiste par Artiste ensuite, je ne crois pas que ca correspond à la question des posts #12 et #15 (?)

Moi j'ai essayé d'affronter le taureau par les cornes sur le travail de notre ami...

NB @dubarre je ne traite QUE ces actions :

1593709351362.png


Et je suis parti du principe que c'est toujours la feuille "Vue_listes_artistes" qui est la source pour tous les cas.

Même si ce n'est pas ça tu...

dubarre

XLDnaute Occasionnel
Bonjour à vous deux veuillez m'excuser mais est-ce que vous pouvez parler plus clairement si possible je ne suis pas professionnel dans le domaine je découvre au fur et à mesure que je crée mon petit programme donc est-ce que vous pouvez me détailler ce que vous me proposez pour je puisse comprendre comment cela fonctionne s'il vous plaît merci d'avance de votre aide
 

Dranreb

XLDnaute Barbatruc
Commencez par remplacer la TextBox17 par une ComboBox17.
Remarque: je propose souvent des solutions où le fait de taper de l'existant oriente automatiquement vers une possible modification plutôt qu'un ajout. Ainsi l'utilisateur n'a pas à décider de ce qu'il veut faire avant d'avoir dit de quoi il s'agit, et après, c'est le programme qui lui dit ce qu'il peut faire.
 

dubarre

XLDnaute Occasionnel
Ça j'ai bien compris que il fallait que je le remplace par une combo box mais le problème c'est qu'elle code je dois mettre à l'intérieur où est-ce que je dois le mettre dans le bouton enregistrer de mon formulaire pour qu'il reconnaisse si il y a un numéro déjà existant s'il vous plaît
 

Dranreb

XLDnaute Barbatruc
If CBxNuCli.Matchfound Then MsgBox "Ce numéro existe."
Notez que normalement un client a au moins aussi une désignation. Alors il pourrait y avoir plusieurs ComboBox pour l'identifier. Je vous propose de créer un userform de consultation et mise à jour des clients utilisant cette fourniture :
Notez que le plus simple serait peut-être que le numéro soit fixé automatiquement lors de la création par TVL(1, 1) = WorksheetFunction.Max(CL.Colonnes(1)) + 1
 

youky(BJ)

XLDnaute Barbatruc
Bonjour dubarre,
Ajoute ce code dans le code de l'userform1
Bruno
VB:
Private Sub TextBox17_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If Len(TextBox17) = 4 Then 'que si 4 chiffres
Lig = Application.Match(Val(TextBox17), Feuil2.[B:B], 0)
If IsNumeric(Lig) Then MsgBox "CE NUMERO EXISTE DEJA", vbExclamation, "A CHANGER": TextBox17 = ""
End If
End Sub
 

dubarre

XLDnaute Occasionnel
Rebonjour

Si j'ai posé la question déjà sur un autre endroit je m'en excuse mais je n'arrive pas à la retrouver dans mon classeur dans le l'onglet membres et dans l'onglet vue_liste_artiste je dois faire des boutons automatiques qui trient et qui masquent les colonnes en fonction par exemple du pays que l'on souhaite et faire une impression le problème vient la mise en page j'ai essayé plusieurs choses mais rien ne veut pas fonctionner je vous mets le classeur en pièce jointe.
 

Pièces jointes

  • Gestion_des_Artistes_v300662020.xlsm
    277.1 KB · Affichages: 8

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour @dubarre , @youky(BJ) , le Forum

Si ta question provient du bug sur UserForm4 error 1004:
VB:
Private Sub CommandButton4_Click()
'$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
'Réinitialise les filtres    $
'$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    ActiveSheet.ShowAllData
End Sub

Je te conseille d'appliquer cette méthode :
Code:
Sub Filter_Removal_But_Keeping_The_AutoFilter()
Dim WS As Worksheet

Set WS = ThisWorkbook.Worksheets("Liste")

    If WS.AutoFilterMode = True Then
        If WS.FilterMode = True Then
            WS.ShowAllData
        End If
    End If
    
End Sub

Pour le reste je n'ai rien compris !

Bonne journée
@+Thierry
 

dubarre

XLDnaute Occasionnel
Quand vous êtes sur la page d'accueil

Cliquez sur "Editions" -> l'onglet membres s'ouvre et un userform s'ouvre -> l'userform se compose de quatre boutons 1) accueil 2) édition courantes 3) édition particulières 4) réinitialiser les filtres

Cliquez sur "Edition courante" -> une nouvelle fenêtre s'ouvre

Cliquez sur "Tous les pays en ordre alpha"

Cela masque les colonnes que je lui ai demandées et ouvre un aperçu avant impression

le problème et la mise en page une fois ça va mettre les choses correctement mais la fois d'après si je fais la même action il me met pas les mêmes colonnes que je lui ai demandées et ne mets pas la même mise en page.

Et c'est la même chose pour Edition Particulières
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 926
Membres
101 841
dernier inscrit
ferid87