XL 2016 Problème VBA pour débutant

spv414052

XLDnaute Nouveau
Bonjour,
Pour un suivi au plus proche de notre consommation de matériel de premiers secours, j'essaie de développer par le biais de différents tutoriel un outils simple d'utilisation et pas compliquer à développer en VBA (je débute).

J'ai créé le masque de saisie dans lequel, nous pourrons ajouter, quitter sans sauvegarder la saisie en cours et modifier. Pour les deux premiers item cela fonctionne mais pour modifier une intervention déjà saisie j'ai une erreur que je n'arrive pas à résoudre.
Est-ce que quelqu'un pourrait m'aiguiller?

D'avance je vous remercie et bonne soirée.

Spv414052
 

Pièces jointes

  • VBA_Debut_Suivi_Phamarcie_xx.xlsm
    27.2 KB · Affichages: 24

JM27

XLDnaute Barbatruc
Bonjour
Ca plante à l'initialyse
TextBox2 n'existe pas
en plus pourquoi rendre visible des textbox qui le sont déjà et qui ne sont jamais masqué

edit: salut maPomme pris de vitesse
 
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Re @spv414052, @JM27 :)

Pour ce type de gestion, il faut identifier l'intervention de manière unique.
  • En création lui attribuer un Identifiant nouveau qui n'a pas encore été utilisé ou bien un identifiant qui existe déjà ailleurs et qui lui est unique (par exemple le n° d'inter dans une autre base)
  • En modification (ou suppression) utiliser son identifiant unique pour repérer la ligne à modifier (ou supprimer)
Dans votre base, la date ne représente pas l'identifiant unique (3 inter distinctes avec la même date). Il y a bien un numéro en colonne qui "pourrait" faire office d'identifiant. Il faut d'abord élucider ce problème d'identification unique.
 

JM27

XLDnaute Barbatruc
Bonsoir pour compléter ce que dis @mapomme

il faudrait aussi en mode modification, préalablement charger les données déjà saisies sur la ligne a modifier.
attention des textbox renvoient des données textes , donc tes données numériques ou dates seront saisie en texte ( il faut les convertir)
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
re
bonsoir a tous
j’ajouterais que remplir ta combo de selection avec les date en colonne "A" n'a absolument aucuns sens sachant qu'il peut avoir 36 dates identiques
comment va tu faire pour choisir la bonne ligne, tu va toute les passer en revue jusqu’à trouver la bonne!!!!????

passer par la colonne "B" me parait plus judicieux non???

ouvre le module du userform efface tout et recommence a zero en réfléchissant un peu plus conceptuellement parlant
;)
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour @spv414052 , @mapomme , @JM27 et aussi @patricktoulon

Oui pour JM27 c'est une bonne approche de dissocier l'Ajout de la Modification.
Moi j'ai tenté de respecter la logique de spv414052 et surtout de rester dans son style de programmation de débutant.

En fait dans mon approche c'est exactement son formulaire qui fera les deux "Ajout" ou "Modif", je pense avoir fait le tour des effets secondaires, mais il se peut qu'il y ait toujours un bug ou deux !

Et comme judicieusement signalé par jm27, en effet la TextBox retourne des Dates en format Texte (c’est toujours galère en FR), mais bon pour l'instant on verra si cette version fait avancer le schmilblick et reste à la portée de @spv414052, je me suis efforcé aussi de mettre les commentaires explicatifs.
Bien à vous
@+Thierry
 

Pièces jointes

  • VBA_Debut_Suivi_Phamarcie_vThierry_00.xlsm
    101.3 KB · Affichages: 17

JM27

XLDnaute Barbatruc
Bonjour
a tester
Regardes du coté de la propriété tag de chaque champs ( c'est la clé des transferts des données dans la feuille intervention)
Dans le tag est rangé la colonne de destination de la donnée et le type de donnée à transmettre( le tout étant séparé par un tirait ,nécessaire pour la fonction split)
 

Pièces jointes

  • VBA_Debut_Suivi_Phamarcie_xx.xlsm
    49 KB · Affichages: 4
Dernière édition:

patricktoulon

XLDnaute Barbatruc
bonjour
ma conception de la simplicité ;)
les textboxs ont comme nom la lettre de la colonne
au départ :

les boutons(ajouter/modifier) sont bloqués

la date du jour dans le textbox (il s'appelle "A" maintenant )

si tu choisi un numéro d'inter les textboxs se remplissent avec la ligne de ce numéro et le bouton modifier est débloqué

si tu tape un numéro qui n'existe pas dans la combo c'est le bouton ajouter qui est débloqué et le bouton modifier est bloqué

si tu vide la combo tout est (clear) et date du jour pour future entrée et les deux boutons bloqués

quand tu click sur ajouter ou modifier un contrôle (produit/Qté) est effectué
et un message te dis explicitement ou t'a zappé la quantité

voila ajouter et modifier peuvent très bien cohabiter ;)

ps: bien entendu les format des données transférées sont respectés ;)
 

Pièces jointes

  • VBA_Debut_Suivi_Phamarcie_ V Pat (1).xlsm
    29 KB · Affichages: 12
Dernière édition:

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour @patricktoulon

L'idée est interressante je viens d'essayer, mais il semble que quelque chose cloche en mode ajout d'un nouvel item , j'ai une erreur 438, "Object doesn' support this property or method" et met en highlight sur ligne 11 :
Case Else: Me.Controls(x(cc)).Value: (x à la valeur 'C', et cc a la valeur '2')

En mode modification cela fonctionne.

Testé sous Excel 2013 Windows 8.1 Version US / Régional Settings FR (ce que j'ai sous la main)

@+Thierry
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re-bonjour Patrick,

Je suis certain que calà fonctionne chez toi, tu as très certainement bien testé avant de poster.
Mais donc idem : Office Pro Plus 32 Bits (mais donc version US)
Et Windows 8.1 Pro 64 (et version US aussi)

Je ne crois plus avoir une seule machine Win/Office FR sous la main, mais pour identifier un Control celà ne devrait avoir aucune incidence... Encore une bizarerie...

Je vais voir depuis une autre machine dès que je peux...
@+Thierry