ComboBox de recherche sur formulaire

Bonjour,

A partir de l'exemple que j'ai vu dans les tuto du site, j'ai réalisé un formulaire pour insérer des données dans un tableau.

Actuellement j'ai deux problèmes :

  • Je veux faire un Combobox pour rechercher et afficher les informations correspondants a numéro cherché. Le but est de ne pas modifier les information directement sans le tableau mais au niveau du formulaire uniquement pour que les règles de saisie soient respectées.
  • Je veux aussi que le code pays s'affiche automatiquement sur le texbox code pays vu qu'il correspond aux trois premiers lettre du Nom Pays correspondant.

J'ai mis en pj mon super formulaire.

Merci d'avance.

14formulair-khech.zip (95.51 Ko)

Bonjour

Pour commencer

Bonjour et merci pour la réponse,

ça marche bien et je suis impatient de regarder comment vous avez fait.

Il reste un seul souci par rapport à la modification. Je vais renommer le bouton ajouter par ajouter/modifier parce que si le ComboBox affiche les informations d'une personne et je modifie le nom par exemple au lieu de modifier il m'ajoute une nouvelle personne. L’idéal serait de pouvoir modifier les informaions de la même personne.

Merci par avance en tout cas..

Bonjour

A tester

Bonjour,

la version V002 marche super bien.

Merci bien.

Bonjour à tous les deux,

Pour le fun pour ne plus à avoir à saisir le numéro.

En A1

=INDEX(A3:A2000;NBVAL(A3:A2000))+1

Macro "Lancer" modifiée comme suit

Sub lancer()
Saisie.TextBox1 = Range("a1")
    Saisie.Show
End Sub

re bonjour,

j'ai ajouté une date et un CheckBox à mon formulaire pour :

  • si la case Départ est cochée, la colonne Situation prend la valeur "D" et la date est renseignée
  • si la case en poste est cochée, la colonne Situation prend la valeur "P" et la date de départ est vide et cachée

Pour la date de départ ça marche mais la situation marche mois

Private Sub CheckBox_Depart_Click()
 If CheckBox_Depart.Value = True Then
        Cells(Ligne, 12) = "D"
    Else
        Cells(Ligne, 12) = ""
    End If
  TextBox8.Visible = False ' True 'TextBox date de départ caché
  Label22.Visible = False
End Sub
Private Sub CheckBox_Enposte_Click()
 If CheckBox_Enposte.Value = True Then
        Cells(Ligne, 12) = "P"
    Else
        Cells(Ligne, 12) = ""
    End If
  TextBox8.Visible = True 'date de départ visible
  Label22.Visible = True
End Sub

C'est la seul manière que j'ai trouvé pour le faire

Merci d'avance.

et1000lio remarque pertinente de votre part.

Merci.

Bonjour

J'ai remplacé les CheckBox par des OptionButton

A tester

Merci,

c'est rapide et simple.

Problème résolu.

Bonjour,

je reviens pour deux soucis que je n'arrive pas à résoudre,

  • Actuellement le code postal n'est pas obligatoire mais je veux afficher un "MsgBox: information importante" s'il est vide mais le fait qu'il soit vide ne doit pas empêcher de continuer la saisi ou la validation de mon formulaire.
  • En ce qui concerne la date de départ: si la personne choisi l'OptioButton "Départ", la date de départ soit obligatoire.

Merci d'avance.

Bonjour,

j'ai essayé cet instruction mais ça ne marche tjr pas.

ElseIf TextBox_Adresse.Value = "" Then
    Label_Adresse.ForeColor = RGB(255, 0, 0)
    MsgBox "information importante!"
    TextBox_Adresse.Value = Null

Bonjour Khech

Actuellement le code postal n'est pas obligatoire mais je veux afficher un "MsgBox: information importante" s'il est vide mais le fait qu'il soit vide ne doit pas empêcher de continuer la saisi ou la validation de mon formulaire.

Voici le code :

Private Sub TextBox_Adresse_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Me.TextBox_Adresse.Value = "" Then
MsgBox "Information importante", vbCritial, "CODE POSTAL"
Cancel = False
End If
End Sub

Bonjour

Bonjour et1000lio

A tester

Parfait ça fonctionne correctement.

Actuellement je viens de créer un bouton pour sauvegarder seulement la partie de ma feuille qui contient le tableau tableau à partir de la cellule A2.

Mais mon code actuellement prend en compte toute ma feuille car je n'ai pas encore spécifié ce que je prendre.

Sub EnregistrerSous()
Dim Chemin As String, Fichier As String
Chemin = ThisWorkbook.Path & "\" _
 ActiveWorkbook.SaveCopyAs Chemin & Fichier
End Sub

Est il possible de dire à mon macro de sauvegarder à partir de la cellule A2 ?

Bonjour,

le macro ci-après règle un peu mon problème.

Sub EnregistrerSous()
Dim Chemin As String
Chemin = ThisWorkbook.Path & "\"
Sheets("Annuaire").Copy
Cells.Copy
Cells.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Cells.Validation.Delete
With ActiveWorkbook
.SaveAs Chemin & "Contact_Final.xls"
End With
End Sub

Il reste juste à lui dire de copier à partir de A2 jusqu'à M :

Cells("A2:M" & Range("A65536").End(xlUp).Row

et il ne veut pas.

Bonjour

Teste cette macro

Sub EnregistrerSous()
Dim Chemin As String
  Chemin = ThisWorkbook.Path & "\"
  Sheets("Annuaire").Copy
  With ActiveWorkbook
    .Sheets(1).DrawingObjects.Delete
    .Sheets(1).Rows(1).Delete
    .SaveAs Chemin & "Contact_Final.xls"
  End With
End Sub

Merci beaucoup, ça marche super bien.

Bonjour,

je dois changer quelques fonctionnalités de mon formulaire,

Maintenant la recherche se fait sur le Nom, je l'ai changé.

Le numéro du colonne A ne va plus changer, il sera identique pour toutes les personnes.

Ce que je veux faire c'est qu'à chaque fois qu'une nouvelle personne est ajouté il prend automatiquement le numéro qui se trouve dans la cellule D2 de la feuille pays.

Merci d'avance.

Bonjour

A tester

Rechercher des sujets similaires à "combobox recherche formulaire"