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

dubarre

XLDnaute Junior
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.
 
Ce fil a été résolu! Aller à la solution…

youky(BJ)

XLDnaute Barbatruc
Bonjour dubarre,
Feuil1.[A:A] est la colonne et Feuil1 le codename
exemple

Lig = Application.Match(TextBox17, [A:A], 0)
If IsNumeric(Lig) Then
'ligne trouvée
else
'non trouvé
End If
Bruno
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Moi je préfèrerais utiliser une ComboBox avec sa propriété ShowDropButtonWhen à 0, et sa List ayant reçu les valeurs de la colonne sous forme de textes. Sa propriété MatchFound indiquera directement si ça existe.
 

dubarre

XLDnaute Junior
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 Junior
Ç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
A dubarre,
Un petit fichier exemple aide beaucoup, sinon on joue aux devinettes.
Ce qu'a fait Danreb est bien mais je pense que tu vas avoir du mal à tout mettre en place si tu es novice en VBA.
Bruno
 

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
 
Ce message a été identifié comme étant une solution!

dubarre

XLDnaute Junior
Bonjour super ça fonctionne je vous remercie beaucoup d'avoir réfléchi à mon problème est-ce que je peux vous poser une autre question qui n'a rien à voir avec la solution que vous m'avez donnée s'il vous plaît.
 

dubarre

XLDnaute Junior
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.
 

Fichiers joints

dubarre

XLDnaute Junior
Petite précision de la page d'accueil quand cliquez sur édition ça vous emmène sur la feuille concernée et ça ouvre le userform.

Et dans la page de garde consultée cela ouvre la feuille concernée et le userform.
 

_Thierry

XLDnaute Barbatruc
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
 
Ce message a été identifié comme étant une solution!

dubarre

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

_Thierry

XLDnaute Barbatruc
Re dubarre

Ca commence bien quand je click sur le bouton "Belgique" ... Boum

1593694370601.png

Et effet pas de macro 'Tri_par_pays" nulle part...

Tu as un peu testé ce fichier avant de nous le mettre sur XLD ?

@+Thierry
 

_Thierry

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

Cliquez sur "Tous les pays en ordre alpha"
Et pour ceci ca fait boum aussi :
1593695507578.png

Non franchement dans ces conditions c'est la prise de tête ton fichier, comment veux-tu qu'on simule ton problème si rien ne marche pour arriver à ce que tu souhaites améliorer...
Là il faut tout reprendre ...

Je répète as-tu testé ton fichier avant de le mettre sur ce Forum ?
@+Thierry
 

youky(BJ)

XLDnaute Barbatruc
Bonjour Thierry et dubarre,
J'ai pas remarqué les bugs mais je suis pas non plus allé voir là.
Je viens de faire un bon début pour imprimer
Dans l'onglet imprime un bouton qui ouvre un userform
Seul le bouton [GO par nom] est actif, plusieurs selection possible je n'imprime pas je vais en avant-impression cela use moins de papier
Je n'ai fait que qlq cases cela sera facile de faire le reste sous le bouton
Bruno
 

Fichiers joints

Dernière édition:

_Thierry

XLDnaute Barbatruc
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 verras comment je m'y prends.

Bonne découverte
@+Thierry
 
Ce message a été identifié comme étant une solution!

Fichiers joints

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas