Probleme pour selectionner une ligne et la modifier

hd006

XLDnaute Nouveau
Bonjour a tous,

Je travail pour réaliser à la demande de mon boss une base que nous avons récupérer sur les differents forum et merci à vous tous pour cette mime d'infos.

On but sur un probleme qui semble simple mais on y arrive pas. On a bidouiller les code alor désolé mais soyer indulgent.

1) Nous avons un Userform qui permert d'entrée les données
En cas nous souhaitons pouvoir modifier une ligne un bouton de commande amene soit en direct à un userform de modif avec recherche integrer ( préférable) ou indirect par un userform de recherche et bascul ver userform de modif.
le but
1) Selectionner une ligne en ouvrant un userform de recherche : UsfModifLigne direct ou indirect par l'userform UsfRechercheLocaux car la selection ce fait par le local

2) Apres selection du local les infos s'increment dans les zones de texte.

3) On effectue les modifications neccessaires et on enregistre pour sortir.

En espérant trouver grace auprés de vous pour nous sortir de ce bazard
Les conseils sont les bienvenus
pour respecter le poid j'ai du enlever des données masis je pense avoir laisser l'essentiel
merci
 

Gorfael

XLDnaute Barbatruc
Re : Probleme pour selectionner une ligne et la modifier

Bienvenue hd006 et le forum
On but sur un probleme qui semble simple mais on y arrive pas. On a bidouiller les code alor désolé mais soyer indulgent.
On est là pour solutionner un problème, pas pour être indulgent ! Tout le monde commence de la même façon : en essayant de comprendre un code et de l’utiliser sur le problème qu’il doit résoudre.

Tu as joints un fichier, c’est bien mais…
Un fichier d’essai n’est pas un fichier de travail. Trop de feuilles, d’USF et de macro qui ne servent à rien pour le problème, diluent l’info dont on a besoin.
Plus tu es précis, plus c’est facile pour les dépanneurs de comprendre ton attente et plus c’est facile pour toi de lier la réponse à la question : si ça concerne la cellule A1, il suffit de rechercher les instruction qui concerne A1.
1) Selectionner une ligne en ouvrant un userform de recherche : UsfModifLigne direct ou indirect par l'userform UsfRechercheLocaux car la selection ce fait par le local
Pour toi, c’est clair, mais pour moi, un peu moins.

Quelques remarques :
Je ne suis ni télépathe, ni devin, ni utilisateur habituel de ton fichier, et Murphy me rappelle que toute interprétation risque de ne pas être la bonne.
- 2 USF pour faire la même chose ?
- On doit rechercher une ligne… mais où ? Dans la feuille « GENERAL » ou dans la feuille « BD » ?
- Ne comprenant pas l’utilisation de BD, je suppose qu’il n’existera qu’une seule Chambre ? Comment le fichier est supposé gérer un maison de 4 chambre, 2 couloirs et trois WC ? Comment on les distingue ? S’il y a plusieurs maisons ? Plusieurs appartements ?
2) Apres selection du local les infos s'increment dans les zones de texte.
J’ai un problème de sémantique : une incrémentation, pour moi, consiste à ajouter 1 à un nombre. Donc je suppose qu’on ajoute le texte à celui existant ?
3) On effectue les modifications neccessaires et on enregistre pour sortir.
On enregistre où ? La réponse au 1) donnera sans doute la réponse au 3)
Juste une remarque : on est supposé sélectionner la ligne à partir du local. Comment doit-on faire pour modifier son intitulé (le nom du local, qui sert à sélectionner) ?
En espérant trouver grace auprés de vous pour nous sortir de ce bazard
Les conseils sont les bienvenus
Tu ne trouveras jamais grâce auprès d’un dépanneur. On est intéressé par ton poste (et on répond) ou non, sans plus. Si tu n’as pas de réponse tu sais que ton sujet (ou ton intitulé) n’est pas intéressant, et il te suffit d’y réfléchir. C’est un forum => c’est anonyme. Donc si on ne répond pas, ce n’est pas contre l’individu, mais soit ça nous dépasse (mais vu ce qui traîne sur ce forum, ce serait étonnant que personne ne sache) soit il est impossible de répondre parce qu’on n’a pas les bonnes données ou qu’on ne sait pas quel est le problème.
pour respecter le poid j'ai du enlever des données masis je pense avoir laisser l'essentiel
Pas que. Si tu n’avais pas été limité, on aurait eu tout ton fichier. Pense que ce n’est qu’un forum. N’importe qui peut y passer et voir ce que contient ton fichier. Le principe, c’est de ne donner que ce qui peut nous expliquer le problème, et tout ce qui peut nous l’expliquer, mais rien de confidentiel… ou en dehors du problème. Mais il est dur de savoir ce qui est réellement utile et ce qui est accessoire. En créant un fichier d’essai, tu t’en rends plus compte et tu n’y mets pas d’infos parasites.
Pour ce que je crois comprendre de ton problème :
- tu veux rechercher une infos dans une liste d’un USF, copier la ligne contenant l’info, modifier une/plusieurs données, et écraser l’ancienne ligne avec les nouvelles infos
Une feuille, 5 lignes, 2 ou 3 colonnes, un USF contenant 1 combobox, 1 ou 2 TextBox suffisent amplement à comprendre le problème et la solution : on reste bien dans les limites de poids de la plupart des forums.

Dans un forum, on n’est pas quémandeur ! On demande de l’aide d’égal à égal, à quelqu’un qui connaît mieux un problème que toi ! Ou plutôt sa solution :p

Pendant que j'essayais de répondre, plus de 20 lectures et pas une seule réponse : soit ça prend du temps pour répondre, soit, en l'état actuel, ton poste n'est pas jugé assez intéressant. C'est juste une constatation
A+
 
Dernière édition:

hd006

XLDnaute Nouveau
Re : Probleme pour selectionner une ligne et la modifier

Bonjour Gorfael
J'ai bien pris en compte ta reponse, je suis debutant dans les macro donc pas le language et la methodologie.
effectivement j'ai mis le dossier avec les termes que j'utilise car je n'ai jamais reussis à retransmettre les code d'un exemple sur le forum a cause des termes utilisés.

Toutefois tu a bien cernée mon probleme et je te remercie pour tes explications. j'espere être plus clair dans mon nouveau fichier.
 

Pièces jointes

  • TEST 1.xls
    209.5 KB · Affichages: 54
  • TEST 1.xls
    209.5 KB · Affichages: 55
  • TEST 1.xls
    209.5 KB · Affichages: 60
Dernière édition:

Gorfael

XLDnaute Barbatruc
Re : Probleme pour selectionner une ligne et la modifier

Salut hd006 et le forum
J'ai bien pris en compte ta reponse, je suis debutant dans les macro donc pas le language et la methodologie.
Le langage ça s'apprend, au fur et à mesure des besoins, et la méthodologie est plus une histoire de logique que de connaissance : si tu fais toujours la même chose et que ça fonctionne en création et en dépannage, pourquoi en changer...

Dans le fichier épuré de la plupart de ce qui ne me sert pas dans la réponse (USF, modules sauf le 13 avec deux macros que j'ai nettoyées), l'USF restant a un certain nombre de macro, pour le charger/décharger.

Au lancement, Initialize

sur changement des contrôles locaux, présence ou non de termites

J'utilise une variable globale qui ne change que si on change la liste ou qu'on lance l'USF. C'est plus simple que de recréer un contrôle et ça permet de changer le nom du local, puisque la ligne reste en mémoire. Si je devais retrouver la ligne, il faudrait que je crée une possibilité pour changer l'identifiant de la ligne(ici A+B).

Chaque ligne est individualisée par son identifiant, qui se doit d'être unique. À toi d'identifier deux "chambre 2" dans ta liste, en fonction de leurs positions.

Comme je ne sais pas où vont exactement les données, je n'ai donné le code que pour les colonnes A à E et O, puisque celle-ci peut être sur 2 contrôles

Dans la première partie du module lié à l'USF (Général)
Option explicit => t'impose de déclarer tes variables sur le module. C'est chiant... mais ça évite les erreurs de frappe.
dim Lg => déclare la variable pour tout le module, ce qu'on appelle variable globale, et comme le module n'existe que s'il y a l'USF, ça n'a trait qu'à l'USF

Utilisation de Me
Me.instruction => remplace la déclaration du support (ici, de l'USF). Permet, quand tu mets le "." derrière, d'avoir accès à un menu contenant toutes les "instructions" que tu peux lui affecter normalement.

Utilisation de with
Code:
With Sheets("BD")
    Me.TxtModifLocaux = .Cells(Lg, "A")
    Me.TxtModifNumPiece = .Cells(Lg, "B")
    Me.TxtModifSol = .Cells(Lg, "C")...
revient à écrire
Code:
    Me.TxtModifLocaux = Sheets("BD").Cells(Lg, "A")
    Me.TxtModifNumPiece = Sheets("BD").Cells(Lg, "B")
    Me.TxtModifSol = Sheets("BD").Cells(Lg, "C")...
C'est juste une simplification d'écriture.
A+
 

Pièces jointes

  • TEST 1(1).xls
    112 KB · Affichages: 42
Dernière édition:

hd006

XLDnaute Nouveau
Re : Probleme pour selectionner une ligne et la modifier

Bonjour, Gorfael, le forum
J'ai retransmis les infos du dossier que tu ma joint à mon dossier et j'ai un problème car lorsque j'active le bouton de commande "modification" dans ton dossier la combo recherche locaux pas de problème je retrouve les pieces, mais dans le miens avec le même code je ne retrouve pas les pièces dans la Combo Recherche Locaux. j'ai du louper un truc mais je ne n'arrive pas à le trouver.
Merci d'avance - bon week-end
 

Pièces jointes

  • TEST 2.xls
    171.5 KB · Affichages: 87
  • TEST 2.xls
    171.5 KB · Affichages: 86
  • TEST 2.xls
    171.5 KB · Affichages: 89

Membres actuellement en ligne

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 811
dernier inscrit
caroline29260