Re: lier deux cellules par une fonctiondans VBA

J

jocelyne

Guest
Excusez-moi mais tout à l'heure j'ai oublié de vous envoyer le fichier.

Merci pour vos réponses
 

Pièces jointes

  • essai.zip
    21 KB · Affichages: 78
  • essai.zip
    21 KB · Affichages: 72
  • essai.zip
    21 KB · Affichages: 67
R

Roland

Guest
Bonsoir Jocelyne

Je te conseille de visiter la zone Téléchargements sur le site. Tu y trouveras de nombreux exemples de gestions de base de données similaires à ton besoin.
Ces exemples te permettront de partir sur des bases plus saines pour ton application

En tous cas pour ta question tu peux affecter à Age.text le résultat du calcul del'age lors de la saisie de anneenaissance dans le UserForm

A+ Roland
 
@

@+Thierry

Guest
Bonsoir Enfin Bonjour !

Attention Jocelyne tu aurais dû rester dans le même fil de discussion car là on ne sait pas ce que tu demandes.

Lien supprimé

Cà permettra déjà de pouvoir te répondre...
J'ai regardé vité fait mais là j'arrête car je vais vraiment au lit !

Essaie de placer ce code dans le Private Module de ton UserForm "listeusager"... Il n'y a pas bcp de code déjà dedans ;-) !

Private Sub anneenaissance_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim LAGE As Integer
Me.age = "" 'on met l'age à vide
If Len(Me.anneenaissance) <> 4 Then 'on test si il y a 4 digits
MsgBox "Veuillez Saisir une année au format AAAA", vbCritical, "Attention mauvais format d'année"
Me.anneenaissance = "" 'on vide car il y a erreur
Exit Sub 'on sort car il n'y a pas 4 digits
End If

'Ici Operation pour avoir l'age, attention on veillit tous au 1er Janvier !
LAGE = Format(Now, "YYYY") - Me.anneenaissance

If LAGE < 0 Then
MsgBox "Vous n'êtes pas encore né !! lol", vbCritical, "Attention mauvais format d'année"
Exit Sub 'on sort car l'age n'est pas bon
End If

On Error GoTo out 'si on a pas de donnée numérique
Me.age = LAGE

Exit Sub
out:
MsgBox "Veuillez Saisir une valeur numérique pour l'année au format AAAA", vbCritical, "Attention mauvais format d'année"
End Sub

Voilà çà va un peu meuble ton module ! J'ai fait ceci surtout pour que tu comprennes comment maîtriser les Controls ActiveX par VBA et pas par la fenêtre Propriétés.

Bonne semaine à tous et toutes
@+Thierry
 
J

jocelyne

Guest
Merci Thierry
Ca marche impeccable. Malheureusement j'ai pas compris grand chose.
J'ai vu sur le site un de tes fichiers pour créer des boites pour les débutants comme moi; C'est génial et je vais recommencer mon fichier.

Toutefois j'ai encore des problèmes.

Dans ma userform je voudrais relier deux autres cellules
j'ai une case date du contact
une case date clôture
une case suivi en mois

Si la date cloture est remplie, le suivi en mois = date contact moins date cloture sinon maintenant moins date contact
Tout ça en VBA dans ma boite

+
Je suis exigeante mais j'ai l'impression que tu fais ça comme moi je fais 1+1 =2


dans une feuille récup j'ai créer une userform qui lorsque je tape le code , il cherche dans la feuille etatcivil et remplit automatiquement les cases dans la feuille Excel.

J'espère que je suis assez claire.

Merci d'avance pour tes réponses géniales.
 

Pièces jointes

  • essai2.zip
    24.4 KB · Affichages: 55
  • essai2.zip
    24.4 KB · Affichages: 53
  • essai2.zip
    24.4 KB · Affichages: 60
@

@+Thierry

Guest
Bonsoir Jocelyne, le Forum

Huum "Si la date cloture est remplie, le suivi en mois = date contact moins date cloture sinon maintenant moins date contact"....

Tout est realisable mais vu la présentation visuelle de ton UserForm il faut respecter le même ordre, or là je ne sais même pas si on doit saisir quelque part obligatoirement ou pas... Donc avec le bouton OK seulement je peux faire un checking de ce style :

Private Sub ok_Click()
Me.suivienmois = ""
If Me.dateducontact <> "" Then
If Me.datecloture = "" Then Me.datecloture = Format(Now, "DD:MM:YYYY")
Me.suivienmois = Format((Me.dateducontact - Me.datecloture), "MM")
Else
MsgBox "Pas de date de Contact", vbCritical, "Donnée manquante"
Exit Sub
End If

listeusager.Hide etc etc ton code .......


Mais vu que tout tes controls sont liés par la Propriété "ControlSource" çà ne marchera jamais !!! (sorry)

Non, à ce stade de programmation, je ne peux pas faire plus car ce Userform n'est qu'un masque de saisie figé avec des cellules, donc il faut soit gérer tout le reste par formules dans la feuille, soit refaire toute la conception de ce UserForm... (Sorry bis)

Là je fais faire dodo par contre
Bonne nuit
@+Thierry
 
J

jocelyne

Guest
Merci Thierry,

C'est génial d'être aussi dispo pour des personnes comme moi, aussi nulles ; mais promis avec ce que j'ai vu sur le site comme exemple je vais m'y mettre.

Je débute totalement et je me suis acheté un bouquin qui me dit de faire comme ça et malheureusement ça n'a pas l'air d'être la meilleure façon.

Je vais essayer de reprendre mon formulaire (à ta manière) et je te l'envoie pour que tu regardes si tu peux m'aider.


Dans tous les cas, merci d'être là.

Jocelyne.
 

Discussions similaires

Statistiques des forums

Discussions
314 092
Messages
2 105 743
Membres
109 425
dernier inscrit
BARBE