XL 2010 insérer des formules dans un tableau

65debutant

XLDnaute Nouveau
Bonjour
J'essaye de créer avec mon peu de connaissances, une application pour gérer des adhérents d'un club d'anciens. (dont le fais partie).
J'ai quelques soucis que vous les experts m'aideront certainement à résoudre et surtout à comprendre.
1) Comment obtenir le format "téléphone" dans les colonnes K et L de l'onglet "adhérents"
2) la formule qui se trouve dans la cellule Q2 ne se reporte pas automatiquement dans Q3, Q4, etc lorsqu'on saisit un nouvel adhérent.
3) lorsque je saisit un nouvel adhérent, la police de A14 et A17 de l'onglet "menu1" change ????
Merci d'avance de votre aide et surtout comprendre pourquoi
 

Pièces jointes

  • gestionclub v0.xlsm
    149.7 KB · Affichages: 9

chris

XLDnaute Barbatruc
Bonjour

1) il faut que les cellules soient de type numérique et non texte avec le format Numéro de téléphone comme c'est le cas en K2
2) en N3 il manque un / à la date ce qui met Q3 en erreur. Dans un tableau structuré soit la proipagation de sformules a été invalidée dans le soptions Excel, soit des formules différentes ont été saisies dans la colonne : ce qui est actuellement la cas.
3) je ne sais pas
 

65debutant

XLDnaute Nouveau
Bonjour

1) il faut que les cellules soient de type numérique et non texte avec le format Numéro de téléphone comme c'est le cas en K2
2) en N3 il manque un / à la date ce qui met Q3 en erreur. Dans un tableau structuré soit la proipagation de sformules a été invalidée dans le soptions Excel, soit des formules différentes ont été saisies dans la colonne : ce qui est actuellement la cas.
3) je ne sais pas


Merci de la réponse
La saisie des numéros de téléphones se fait par un Userform de l'onglet "menu". le numéro en K2 a été saisi hors Userform, parce que je n'arrivait pas à mettre sous la forme "téléphone". Je joins une nouvelle version car je n'y arrive pas. Peux tu me faire la modif svp ?
 

Pièces jointes

  • gestionclub v0a.xlsm
    150.3 KB · Affichages: 12

chris

XLDnaute Barbatruc
RE

essaye de modifier ainsi
VB:
        .Offset(0, 10).Value = txtfixe * 1    'colonne téléphone
        .Offset(0, 11).Value = txtmob * 1     'colonne mobile

et remet les colonnes du tableau en format téléphone
les nouvelles lignes suivront
 

Modeste geedee

XLDnaute Barbatruc
Bonsour®
Bonjour
J'essaye de créer avec mon peu de connaissances, une application pour gérer des adhérents d'un club d'anciens. (dont le fais partie).
J'ai quelques soucis que vous les experts m'aideront certainement à résoudre et surtout à comprendre.
1) Comment obtenir le format "téléphone" dans les colonnes K et L de l'onglet "adhérents"
2) la formule qui se trouve dans la cellule Q2 ne se reporte pas automatiquement dans Q3, Q4, etc lorsqu'on saisit un nouvel adhérent.
3) lorsque je saisit un nouvel adhérent, la police de A14 et A17 de l'onglet "menu1" change ????
Merci d'avance de votre aide et surtout comprendre pourquoi
1) c'est lors de la validation que l'on doit s'assurer que les données validées sont compatibles avec la base...
dans la procédure btnajoutclient_Click()
je suggére ces modifications (1,2,4,10,11,13,15,16)
Code:
  With r
        .Offset(0, 0).Value = cbociv.Value               'colonne Civilité
        .Offset(0, 1).Value = UCase(txtnom)        'colonne nom
        .Offset(0, 2).Value = Proper(txtprenom)     'colonne prenom
        .Offset(0, 4).Value = DateValue(txtnaiss)     'colonne date naissance
        .Offset(0, 6).Value = txtad1        'colonne adresse1
        .Offset(0, 7).Value = txtad2        'colonne adresse2
        .Offset(0, 8).Value = txtcp         'colonne code postal
        .Offset(0, 9).Value = txtville      'colonne ville
        .Offset(0, 10).Value = CDbl(Replace(Replace(Replace(Replace(txtfixe, " ", ""), "-", ""), ".", ""), "/", "")) 'colonne téléphone
        .Offset(0, 11).Value = CDbl(Replace(Replace(Replace(Replace(txtmob, " ", ""), "-", ""), ".", ""), "/", ""))      'colonne mobile
        .Offset(0, 12).Value = txtmail      'colonne adresse mail
        .Offset(0, 13).Value = DateValue(txtdatadhe)  'colonne date d'adhésion
        .Offset(0, 15).Value = UCase(txtactif)     'colonne actif O/N
        .Offset(0, 16).Formula = .Offset(-1, 16).Formula
    End With
 

chris

XLDnaute Barbatruc
Re à tous

Sur le fond je suis d'accord avec Modeste geedee, que je salue, mais je pense que c'est avant le With r qu'il faudrait insérer une procédure de contrôle des valeurs saisies avec des messages d'erreur le cas échéant...
 

Modeste geedee

XLDnaute Barbatruc
Bonsour® Chris
:(:(selon le principe de Murphy, si une erreur est possible elle est inéluctable et interviendra en général en créant une perturbation maximale !!!
par expérience la gestion d'erreur de saisie représente souvent plus de la moitié du codage lors de la programmation d'un interface.

cela passe en général par une routine ON ERROR
avec identification de l'erreur pour explication
lieu de l'erreur afin de récupérer le focus pour retour en saisie

ou bien valeur par défaut afin de ne pas planter le fonctionnement ou incohérence dans la base.

:rolleyes:
cette partie (gestion d'erreur) demande réflexion et exhaustivité des saisie possibles...
c'est pourquoi de nombreux interfaces proposent des saisies par masque avec bornes ou limites afin d'alléger les boucles de saisies/corrections.
 

65debutant

XLDnaute Nouveau
Bonsoir
je vous remercie pour toutes vos réponses. J'ai remanié mon tableau et j'ai incorporé toutes les modifications suggérées par Modeste geedee. Lors d'une saisie test, il y a eu 2 erreurs.
.Offset(0, 2).Value = Proper(txtprenom) 'colonne prenom ............ Proper pose problème
.Offset(0, 16).Formula = .Offset(-1, 16).Formula . ???? je suppose qu'elle calcule le temps écoulé depuis la 1ère inscription....Mais cela ne fonctionne pas

Hormis ces 2 petits soucis, puis je vous demandez quelle solution vous proposeriez pour le point suivant:
Dans l'Useform de saisie d'un nouvel adhérent, la saisie dans le txt ACtif est obligatoirement O (oui). Actif signifiant "ayant payé sa cotisation". Lorsque l'adhérent ne fait plus partie du club (pour x raisons, décès, déménagement, etc), je voudrais que dans le tableau "adhérents" en colonne R, le O se change en N(non).
Je peux le faire manuellement en remplaçant en dur le O par un N.
N'y a t'il pas une manière plus pro de faire cette manip ??
nota: nouveau fichier joint
merci encore de vos conseils
 

Pièces jointes

  • gestionclub v0d forum.xlsm
    109.3 KB · Affichages: 10

fanch55

XLDnaute Barbatruc
Salut, j'ai pas bien compris la demande pour désactiver un adhérent et je ne l'ai pas trouvé non plus dans le code.
De toutes façons, il faudra bien faire une action manuelle pour désactiver celui-ci à la demande.
Que désires-tu si tu ne veux pas modifier directement la colonne Actif, une option à activer par le click droit sur la ligne du tableau ?
 

65debutant

XLDnaute Nouveau
Bonjour
Effectivement, pour l'instant, j'ai prévu que seule une action manuelle "transformera" le O (oui) de la colonne Actif en N(non).
C'est à dire que j'irai cherché l'adhérent X et remplacerai O par N dans la colonne R.
Ma question est: y a t'il une autre solution (par VB, bouton, ??) plus pro qui éviterait de rentrer manuellement dans le tableau afin de faire la modif?
Statistiquement, cette modification ( O en N) est rare ( 1 à 2 fois l'année) mais ce serait plus pratique pour des utilisateurs (notre moyenne d'âge est élevée) qui n'oseraient pas s'aventurer dans un tableau.
merci d'avance
 

Discussions similaires

Statistiques des forums

Discussions
312 074
Messages
2 085 071
Membres
102 770
dernier inscrit
mathieu.lemaitre