Formulaire avec userform

la première ligne de ma feuille qui contient les entêtes est affichée une ligne au dessus (voir photo), pour le code il concerne la suppression d’une ligne ,voila mon fichier:
FICHE V3(4).xlsm (185,2 Ko)

« la première ligne de ma feuille qui contient les entêtes est affichée une ligne au dessus (voir photo), »

Oui bien sur c’est tout à fait normal mais que souhaites tu ???
Je constate aucune anomalie la concernant
Qu’est ce qui ne va pas pour toi ?

Ci-joint ton dernier fichier avec les corrections pour la suppression de la sélection dans la ListeBox

Attention ta procédure « refresh_data » était défectueuse

J’ai apporté des corrections pour qu’elle ne bug plus notamment cette ligne de code :

.ColumnWidths = "30,40,100,110,70,90"

Je l’ai modifiée ainsi :

.ColumnWidths = "30;40;100;110;70;90"

Le séparateur doit être un « ; » et non « , »

Maintenant dans tes valeurs listées notamment les premières « 30;40 » celles-ci ne sont pas suffisantes pour un bon affichage des 2 premières colonnes de la ListeBox

Ce serait peut être à revoir

A toi de les modifier pour que leurs données soient lisibles

Ton fichier ainsi corrigé

Testes et dis moi

FICHE V4.xlsm (177,7 Ko)

merci pour la suppression, maintenant reste a afficher les entête dans leur emplacement a savoir la première ligne avec les bordures ( ligne verte sur la photo), pour les valeurs j’allais mettre les bonne valeurs une fois le problème des entêtes réglé , pour info c’était quoi le problème avec mon code de suppression

Super pour la suppression !!!

« pour info c’était quoi le problème avec mon code de suppression »

Je pense erreur de déclaration de variable :

tu déclares la variable id comme un nombre
Dim id As Long
Et sur cette ligne de code tu lui impute une donnée texte
id = Me.ListBox1.List(i, 0)

Celà ne peut le faire : Bug !!!

J’ai opté pour une approche plus simple

2 lignes de code contre 7 lignes de code pour ta version

Pour les entêtes pourquoi celle de la première ligne de la ListeBox ne pourrait pas convenir et de chercher à rajouter des titres au niveau du haut de la fenêtre que tu auras toutes les peines du monde à positionner aux regard des données surtout si tu modifies la largeur des colonnes ceux-ci ne suivront pas
L’avantage d’utiliser les entêtes de la source des données c’est qu’elles seront toujours bien positionnées même en modifiant la dimension des colonnes ou celle de la ListeBox
Seul inconvénient celles-ci disparaissent avec le jeu de l’ascenseur
Mais il suffit de repérer celle que l’on souhaite utiliser avant de jouer de l’ascenseur

Maintenant c’est toi qui décide mais pas simple à bien mettre en place et à faire vivre au grés des évolutions de la fenêtre et des données

A toi de dire

Pas de soucis pour moi, je voudrais avoir la meilleure solution pour afficher mes en-têtes

Moi je resterai en l’etat surtout j’y ai pensé après coup tu as 20 colonnes dans ta ListeBox donc 20 noms à loger en regard de chacune d’elle c’est à dire que toutes tes colonnes doivent être à l’affichage pour être positionnée sous son titre donc en d’autre terme il ne faut pas d’ascenseur horizontal dans cette perspective pas d’autre choix et pour cela la dimention dans sa largeur de la ListeBox doit être passablement agrandie et par voie de conséquence tout le formulaire
Une transformation qui demande un certain travail
Voilà ce qui t’attend si tu veux mettre en pratique cette modification
Je reste à disposition pour toute évolution

Je pense que je vais me focaliser sur le reste des fonctionnalités et laisser ce truc des "en-tête " à la fin, c’est pas si bloquant que ça, c’est autres boutton mérite plus d’attention, désolé de vous avoir pris beaucoup de temps ce week-end, merci beaucoup

bonsoir, je me suis un petit peu éclipsé ces dernières semaines, mais j’ai essayé d’avancer , donc j’ai pu résoudre mon souci des entêtes , et j’ai ajouté code au bouton « éditer », je pense que je suis a 80%, il me reste l’option de recherche , je vais opter pour une méthode avec filtres a critères
directement sur la listbox, je vous transmet mon dernier fichier pour voir ou je suis
FICHE_V4.xlsm (211,6 Ko)

Bonjour
Je vois que cela à bien avancé
Pour le code du bouton « EDITER » à priori rien à redire dans sa structure
Reste à savoir si cela répond bien à tes attentes
Seul toi peux statuer

" il me reste l’option de recherche"

Si tu veux mon aide il faut me donner le contour détaillé de cette option

N’hésites pas !!!
Bravo pour ces résultats

Merci, pour le boutton « éditer » j’aimerais bien améliorer le processus un petit peu quoique c’est déjà pas mal, l’idée et d’afficher « FICHE » sur une autre userform et j’y ajouterai deux boutton par exemple " imprimer et pdf", pour la recherche je vais ajouter deux contrôle :une combobox pour choisir le critère de recharge parmi certaines colonne et l’autre textbox en l’occurrence pour y mettre l’info à rechercher, c’est en gros mon idée

Bonjour
Je te laisse à l’oeuvre
Pour toute difficulté fais moi signe
Le meilleur scénario pour apprendre

bonsoir, je reviens vers vous pour un petit blocage, je suis passé a l’option de modification des ligne, je double clique sur la ligne et son contenu est chargé sur la forme , maintenant si je modifie une info et je valide je suis bloqué , une ligne de code existe déjà pour vérifier l’existence de la fiche, merci d’avance
FICHE_V4(1).xlsm (211,5 Ko)

Ci-joint ton fichier avec ajout dans le formulaire d’un bouton « MODIFIER » et d’un textbox n° ligne
Lorsque tu double-cliques sur un enregistrement celui-ci récupère les données correspondantes de l’onglet « Historique inter » sur la ligne inscrite dans le textbox créé
Pour cet onglet celles-ci sont :

AGENCE colonne « B »
DATE DEBUT colonne « D »
DATE FIN colonne « E »
Nom Technicien colonne « C »

Seules ces données sont considérées dans le traitement du bouton « MODIFIER »
Les autres récupérés par le double-clique n’appartiennent pas à cet onglet et ne sont pas dans les colonnes de la Listebox donc ne sont pas traitées

A toi de voir si il faut étendre son action à celles-ci

Le double-clique ne récupère pas les données des textbox :

Description Incident / Intervention
Résultat Intervention
Remarques et Observations
Remarques du Demandeur

Je ne les ais donc pas inclus dans cette mise en place

Testes déjà les valeurs traitées

Puis pour les autres merci de me donner pour chacune ce qui doit être effectué

Fais moi un retour

FICHE_V4(1).xlsm (229,1 Ko)

merci beaucoup, je sais pour les colonnes non récupéré , je voulais avoir la solution pour certaines colonne pour pouvoir généraliser sur les autres après,j’ai testé ton fichier , merci déjà pour l’effort, je veux adapter ton code de façon a éliminer le bouton « modifier » et utiliser seulement « ajouter » peut on mettre un « IF » historie que si le numéro de fiche existe on fait la maj, sinon on ajoute une nouvelle fiche,

« je veux adapter ton code de façon a éliminer le bouton « modifier » et utiliser seulement « ajouter » »
Pour moi ce n’est pas le bon plan car le traitement ne pourra pas distinguer l’action de l’utilisateur que seul la distinction de deux bouton permet de connaitre
Sans leur présence comment savoir ce qu’il souhaite faire : créer ou modifier ???
Et de cette intention conditionne des contrôles et actions en conséquence
Donc je te déconseille de tout réunir sur le même bouton à moins d’interroger l’opérateur sur ce qu’il souhaite par l’intermédiaire d’une boite de dialogue pour ensuite orienter le traitement
Exemple l’utilisateur souhaite créer un nouvel enregistrement mais par erreur saisit un code existant le traitement constatant sa présence fera une modification de ses données alors que c’était une création à réaliser
Le résultat sera désastreux je te laisse l’imaginer !!!

J’ai apporté une petite correction que tu auras dans ce fichier ci-joint à utiliser en lieu et place du précédent
Fais des tests et dis moi

FICHE_V4(1).xlsm (228,6 Ko)

merci beaucoup, par contre je suis pas arrivé a trouver la petit correction

Bonjour
la petite correction concerne la macro du formulaire « Sub Reset_Form » dans laquelle j’ai rajouté le nettoyage de la texbox17 que j’ai rajouté concernant le n° de la ligne à modifier :

Me.TextBox17.Value = «  »

Au plaisir quand tu as besoin

bonjour,
je reviens encore une fois vers vous, j’ai opter pour une petit modification , j’ai choisi d’ouvrir une petit fenêtre de modification lors double click, tout matche bien :sweat_smile: sauf un petit hic, excel se plante a la fin de la commande, une idée peut être
FICHE_V5_1.xlsm (225,6 Ko)

Bonjour

Après analyse et de multiples tests il s’avère que l’anomalie intervient à la fermeture de ce nouveau formulaire et ce soit avec la ligne de commande Unload Me ou en inhibant celle-ci et en le fermant par sa croix rouge
Donc c’est la fermeture de celui-ci qui est à l’origine du désordre après l’exécution de ses instructions
Pas d’autre choix que de le reconstruire intégralement et de réessayer

Récupères tous ses codes puis fais lui une peau toute neuve

En espérant que ces ennuis restent un mauvais souvenir

Donnes moi des nouvelles

Bonjour

J’ai réalisé des tests avec un formulaire succint ajouté par mes propres soins dans l’esprit du tien le défaut est toujours d’actualité
Celui-ci intervient si une mise à jours d’une donnée est effectué seulement à la fermeture de celui-ci
Si aucune mise à jour aucune anomalie lors de cette manipulation
Il faut en conclure que les données utilisées pour construire le premier formulaire ne peuvent être modifiées par un second formulaire mettant à mal la cohérence du premier
Seule donc le formulaire en relation direct avec des données peut en engendrer leur modification ce que j’ai réalisé avec le bouton « MODIFIER »
Tu ne peux l’effectuer par l’intermédiaire d’un deuxième formulaire sinon le désordre que tu subit
Voilà la conclusion à cette situation que tu as mis en place qui ne peut donner satisfaction

Je n’ai jamais réalisé un tel scénarios de données intégrées dans un premier formulaire modifiées par un second formulaire j’ai toujours utilisé un seul et même userform pour bâtir et modifier

Il faudra hélas t’y résoudre