Formulaire encore et toujours...

budboy

XLDnaute Nouveau
Bonjour à tous,

Encore un nouveau!!
Et oui, je découvre l'univers de VBA sous excel et bien que fasciné de mes maigres progrès je bute finalement sur la question suivante.

J'ai réaliser un formulaire très simple permettant d'enregistrer sur bdd les noms de concurrents devant s'inscrire à une manifestation sportive.

Parmis ces concurrents environ 60 % sont déjà connus car présents annuellement!
Pour ne pas me retaper toute la saisie du nom prénom adresse (...) car il faut aller vite, je souhaiterai, si le nom est connu (soit déja présent sur une BDD type années antérieurs) que le reste des infos soit proposé dans mon formulaire.

De cette manière, je devrais toujours pouvoir modifier ce qui mérite une mise à jour et enregistrer à la suite de ma feuille de saisie le concurrent.

Mais suis-je bien claire (?) et est-ce possible (?), par avance je m'excuse si ce sujet a déjà été traité, je suis d'ailleurs preneur de tout info.

Ci-joint mon modèle de formulaire inachevé faute de connaissance...

à tous merci,
 
Dernière édition:

ChTi160

XLDnaute Barbatruc
Re : Formulaire encore et toujours...

Salut budBoy
Bonsoir le fil
Bonsoir le Forum

arffff je viens de regarder ton fichier et ben j'y comprend plus rien Lol

Dans ton dernier message tu mets
Voilà tout j'ai prévu d'afficher sur mon formulaire un n° de dossard selon le choix de parcours du concurrent (87 ou 146), et l'année de naissance de ce même concurrent.
j'ai pas bien compris ,si tu as plusieurs concurrents qui font Le 87 et qu'ils sont tous nés en 1957 tu fais comment ?
tu parles d'une fonction de rappel
Quand j'utilise la fonction de rappel d'un concurrent figurant dans la BDD (feuille 2) le N° de dossard ne m'est pas proposé (pourquoi?)
peux tu nous expliquer
Merci D'avance
Bonne fin de Soirée
 

budboy

XLDnaute Nouveau
Re : Formulaire encore et toujours...

Bonjour à vous,
Porcinet82, Chti160,

Voilà, voilà, je comprend en me relisant que ce n'était pas très claire en effet, mais il faut dire que la procédure est "coton", alors je vais essayer de mieux me faire comprendre...

Si le concurrent choisi le parcours 87, les n° de dossard sont a attribuer à partir de 1201 idépendemment de la catégorie d'age...

Je vais donc chercher le dernier N° attribuer pour ce parcours, et ajouter +1 dans mon formulaire Me.txtDossardsuiv.Value


Maintenant, si il choisi le 146, les N° de dossard sont cette fois dépendant de la catégorie d'age (Départ par handicap)
1 à 250 pour les catégorie A, B ,C, I, J, K
251 à 500 pour les catégories H
501 à 750 pour les catégorie F, G
751 à 1200 pour les catégorie E, D

Je vais donc chercher le dernier N° attribuer pour chaque parcours selon l'ensemble des catégories proposées, et ajouter +1 dans mon formulaire Me.txtDossardsuiv.Value

J'espère que ces phrases ne seront pas trop douloureuses à déchiffrer et vous souhaite une agréable journée,

à plus tard...
 

budboy

XLDnaute Nouveau
Re : Formulaire encore et toujours...

En réalité si j'arrive à mettre ca d'applomb j'aurais déjà bien avancé...

Dim i%
If Me.txtDistance = 87 Then
With Sheets("Saisie")
For i = 2 To .Range("B65536").End(xlUp).Row
If .Cells(i, 22).Value = 87 Then
If IsNumeric(.Cells(i, 2).Value) = True Then
txtDossardsuiv = 1 + .Cells(i, 2).Value
Else
txtDossardsuiv = 2000
End If
txtHoraire = "8H30"
txtCouleur = "BLANC"
txtVague = "1"
Exit Sub
End If
Next i
End With
End If
End Sub
 

budboy

XLDnaute Nouveau
Re : Formulaire encore et toujours...

Oui désolé encore moi,

dans ce dernier exemple je souhaitais rechercher le N° de dossard du dernier candidat enregistré sur le parcours de 87, et afficher "ce numéro" + 1 dans le champ txtDossardsuiv...

à plus tard,
 

budboy

XLDnaute Nouveau
Re : Formulaire encore et toujours...

Bonjour à tous,

Porcinet 82,
Cht'i160,

Ca y est j'y suis, j'ai fini par contourner le problème, appremment ce type de fonction :
(If ....= ..... And ....=.... Or .....=...... Then)

ne veut pas s'executer correctement avec moi (peut-être bien que c'est normal mlais idem pour
(If ....= ..... Or ....=.... Or .....=...... Then)

J'ai donc fait du cas par cas pour éviter le OR du coup ca fonctionne plutôt bien!

Je vous remercie encore de votre aide, et de votre soutien dans la découverte de la programmation basique VBA, qui j'en suis sure m'apportera beaucoup par la suite.

à bientôt

BudBoy
 

budboy

XLDnaute Nouveau
Re : Formulaire encore et toujours...

Bonjour le forum, et bonjour à Porcinet82 et Chti 160,

Je suis devant un problème sans explication pour moi...
j'ai récupérer sur un autre thème du forum le fichier joint, j'essai de l'utiliser à ma sauce avec des N° de licence mais ca ne marche pas.

En réalité je ne comprend pas pourquoi certain chiffre sont reconnus et pas les autres, j'ai pris soin de mettre les cellules au format texte, ca ne marche pas, je saisie le contenu à l'identique ca marche. Hors j'ai près de 20000 cas, si je peux m'éviter la re-saisie...

Alors comment faire pour qu'un N° quel qu'il soit en cellule 1, soit associé au nom cellule2?

Merci de votre aide et à bientôt,

BUDBOY
 
Dernière édition:

ChTi160

XLDnaute Barbatruc
Re : Formulaire encore et toujours...

Salut budboy
bonjour le Fil
Bonjour le Forum
voilà ce que j'ai modifié (en rouge),pour que les deux éléments comparés soient du même Type String
Code:
If Communes.ComboBox1.Value = [COLOR=red]CStr([/COLOR]ws.Range("A" & i).Value[COLOR=red]) [/COLOR]Then 
                  Communes.TextBox1 = ws.Range("B" & i)

Bonne Journée
 

budboy

XLDnaute Nouveau
Re : Formulaire encore et toujours...

Bonjour à tous,

Merci à toi Jean Marie, et désolé de n'avoir donné suite plus tôt!
J'a en effet pu résoudre à nouveau avec les éléments que tu m'as fourni, j'avance lentement mais avec un grand intéret dans le monde de la programmation VBA.

Merci à tous...
 

budboy

XLDnaute Nouveau
Re : Formulaire encore et toujours...

Bonjour à tous,

Nouveau petit problème, porcinet, Chti160 à l'aide!!

Je dois pêcher dans une base le nom et prenom situées dans les champs 2 et 3 de cette base, lorsqu'ils correspondent au N° de licence du candidat (champ 1)...

L'appel de la fonction se fait à la saisie du N° de licence... Ce qui marche très bien, sauf que certain N° de licence ne sont pas seulement numériques (genre : T234567) dès lors je ne trouve pas le mode de déclaration adéquate.


Private Sub ComboBox2_Change() '_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim L As Integer, i As Integer, ws As Worksheet
Set ws = Sheets("FFA")
L = ws.Range("A65536").End(xlUp).Row
For i = 2 To L
If frmCoordonnées.ComboBox2.Value = CStr(ws.Range("A" & i).Value) Then


à bientôt donc??

Budboy
 

budboy

XLDnaute Nouveau
Re : Formulaire encore et toujours...

Demandé si gentillement...


J'attends ton avis avec impatience.

Merci, et bon weekend,

Budboy

Euh Non upload impossible même en simplifiant au plus désolé... Alors imaginons...

Private Sub ComboBox2_Change()
Dim L As Integer, i As Integer, ws As Worksheet
Set ws = Sheets("FFA")
L = ws.Range("A65536").End(xlUp).Row
For i = 2 To L
If frmCoordonnées.ComboBox2.Value = CStr(ws.Range("A" & i).Value) Then
txtNom = ws.Range("B" & i)
Me.txtPrenom = ws.Range("C" & i)
Me.txtSexe.Value = ws.Range("F" & i)
Me.txtNaissance.Value = ws.Range("D" & i)
Me.txtCodeclub.Value = ws.Range("G" & i)
Exit Sub
'Else
'txtNom = "Inconnu"
'Me.txtPrenom = ""
'Me.txtSexe.Value = ""
'Me.txtNaissance.Value = ""
' frmCoordonnées.ComboBox1.Value = ""
'Me.txtCodeclub.Value = ""
'Exit Sub
End If
Next


End Sub
 

Discussions similaires

H
Réponses
3
Affichages
904
HugoB99
H

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 183
dernier inscrit
karelhu35