modifier une cellule en modifiant la bonne ligne

altinea

XLDnaute Accro
Bonsoir le forum,
Je sollicite votre aide afin de résoudre mon petit soucis.
Voilà vous trouverez en fichier joint un petit exemple de ce que je souhaiterai réaliser.
1 userform
1 combobox et 2 textbox, en fonction de la sélection de la combobox s'affichent dans les deux textbox ce ui figure dans les colonnes adjacentes de la colonne 1.
La texbox 3 elle je souhaiterai pouvoir entrer la valeur de mon choix, le seul inconvénient c'est que cela me modifie la ligne choisie.
je suis sous 2010 mais le fichier je lai enrgistré en version 2003 afin qu'il soit exploitable par le plus grand nombre
Merci pour votre aide
 

Pièces jointes

  • alti.xls
    50.5 KB · Affichages: 181
  • alti.xls
    50.5 KB · Affichages: 187
  • alti.xls
    50.5 KB · Affichages: 181

altinea

XLDnaute Accro
Re : modifier une cellule en modifiant la bonne ligne

re, Laetitia90,
effectivement c'est ce que je fait depuis que tu m'avais expliqué comment faire le nettoyage.
Mais apres quelques utilisations, 3-4 ça ralenti à nouveau.
Y aurai t'il dans le code un élement qu'excel n'apprécie pas ?
Comme je te diasis quand tu valide à priori les infos s'effacent de l'usf et à priori sont incrémentées dans les feuilles de destination.
Par contre l'usf reste toujours à l'écran alors qu'il aurit du s'effacer en même temps. Pendant ce temps là le curseur se transforme en un rond comme quoi il est en train de travailler, des fois cela fait comme si excel "ne repond plus" et apres quelques secondes revient en visu, mais usf vierge sans rien dessus, puis reapparaissent les boutons et là il fau tencore attendre un peu et cliquer sur sortir et là ça fonctionne.
Peut être y a til une boucle qui ne se ferme pas correctement ou un élement entre qui dérange.
Voilà, pour l'instant, j'ai juste modifié les élements afin qu'ils soient tous au même format afin d'éviter les soucis précédemment évoqués.
Si tu as une idée, merci encore
Bonne jounrée
 

laetitia90

XLDnaute Barbatruc
Re : modifier une cellule en modifiant la bonne ligne

re, je vois vraiment pas?? quand tu fais la manip.. tu prends que la plage de valeurs???
comme dit plus haut en simulant suppression un ligne directement sur la feuil c'est trés long
le code est tres basique ne doit pas poser de pb
une autre solution ouvrir une autre fichier vierge recopier les donnees dedans comme decrit plus haut voir si pb identique
je vais regardais cela

re pense avoir compris ......c'est le gestionnaire des noms qui pose pb liste qui vont jusqu' a 60000 lignes
 
Dernière édition:

laetitia90

XLDnaute Barbatruc
Re : modifier une cellule en modifiant la bonne ligne

re , c'est bien cela !!!!
dans gestionnaire des noms tous les noms qui font reference a feuil 3 & 5
en reduisant a 600 au lieu de 60000 instantane
eventuellement les supprimer je vois pas a quoi elle servent dans le code????
du coup la macro on peut supprimer le superflu

Code:
Private Sub Ajout_Click()
 a = IIf(Label12.Caption = "SAISIE DES FORMATIONS REALISEES", 3, 5)
 With Sheets("Feuil" & a)
    z = .Cells.Find("*", , , , xlByRows, xlPrevious).Row + 1
 For y = 1 To 10: .Cells(z, y) = Controls("Te" & y).Value: Next y
 For y = 1 To 5: .Cells(z, y + 10) = Controls("T" & y).Value: Next y
   .Cells(z, 16) = Tb_date
   .Cells(z, 17) = Tb_mois.Value
   .Cells(z, 18) = Tb_semaine.Value
   Cb_nomprenom = "": C1 = ""
 For Each j In Controls
   If TypeName(j) = "TextBox" Then j = ""
 Next j
  .Range("a3:r" & Cells.Find("*", , , , , xlPrevious).Row).Sort _
  Key1:=.Range("a3"), Order1:=xlAscending, Header:=xlGuess
 End With
End Sub
 

altinea

XLDnaute Accro
Re : modifier une cellule en modifiant la bonne ligne

re,
concernant tes remarques j’ai effectivement supprimé les feuilles j'ai repis que les éléments, par contre au fur et à mesure que j'ajoute des enregistrements cela ralentit on voit le curseur changer.
Concernant les noms des listes dans le gestionnaire de noms j'ai changé j'ai mis à 1000 mais l’inconvénient est que lorsque ej vais dépasser la ligne mille les éléments ne seront plus pris en compte pour les stats sur al feuille stat.
Si tu as une autre façon d'arriver au même résultat je suis preneur.
voilà pour aujourd'hui
merci
je te joindrai à nouveau le fichier tel que je l'ai modifié afin que tu puisse voir directement les divers éléments évoqués.
bonne soirée
merci
 

laetitia90

XLDnaute Barbatruc
Re : modifier une cellule en modifiant la bonne ligne

re tu laisse 1000 par defaut dans gestio.....noms

tu ajoute a la macro

Code:
Private Sub Ajout_Click()
 a = IIf(Label12.Caption = "SAISIE DES FORMATIONS REALISEES", 3, 5)
 With Sheets("Feuil" & a)
    z = .Cells.Find("*", , , , xlByRows, xlPrevious).Row + 1
 For y = 1 To 10: .Cells(z, y) = Controls("Te" & y).Value: Next y
 For y = 1 To 5: .Cells(z, y + 10) = Controls("T" & y).Value: Next y
   .Cells(z, 16) = Tb_date
   .Cells(z, 17) = Tb_mois.Value
   .Cells(z, 18) = Tb_semaine.Value
   Cb_nomprenom = "": C1 = ""
 For Each j In Controls
   If TypeName(j) = "TextBox" Then j = ""
 Next j
  .Range("a3:r" & Cells.Find("*", , , , , xlPrevious).Row).Sort _
  Key1:=.Range("a3"), Order1:=xlAscending, Header:=xlGuess
  End With
  With Sheets("Feuil3")
   .Range("j3:j" & Cells(Rows.Count, "j").End(xlUp).Row).Name = "flux_réalisé"
   .Range("m3:m" & Cells(Rows.Count, "m").End(xlUp).Row).Name = "heures_réalisé"
   .Range("r3:r" & Cells(Rows.Count, "r").End(xlUp).Row).Name = "semaine_réalisé"
  End With
  With Sheets("Feuil5")
   .Range("j3:j" & Cells(Rows.Count, "j").End(xlUp).Row).Name = "flux_prévision"
   .Range("m3:m" & Cells(Rows.Count, "m").End(xlUp).Row).Name = "heures_prévision"
   .Range("r3:r" & Cells(Rows.Count, "r").End(xlUp).Row).Name = "semaine_prévision"
  End With
Unload Me: Accueil.Show
End Sub

les listes seront modifieés au premier ajout dans user1
 

altinea

XLDnaute Accro
Re : modifier une cellule en modifiant la bonne ligne

re, merci je viens de faire la modif effectivement ça fonctionne, j'aurai du m'en apercevoir mais je suis loin d’être au top pour cela, même si j'ai commencé a prendre un bouquin pour apprendre le VBA,en attendant merci beaucoup.

Lundi ou mardi j'en saurai plus sur les modifs, les utilisateurs je ne sais pas comment ils font ils ne trouvent que des trucs qui ne vont aps, s'ils savaient le temps qu'il faut passer pour réaliser cela, je pense que l'on va me demander dans luserform3 de pouvoir choisir par numero de formation.peux tu me rajouter cela stp

je continue à mettre en forme,

merci encore pour ton aide

bon week end
 

Pièces jointes

  • alti-19.xlsm
    338.7 KB · Affichages: 66

altinea

XLDnaute Accro
Re : modifier une cellule en modifiant la bonne ligne

re,
j'ai remarqué que les infos de la semaine 53 ne s'affichaient pas. J'ai donc trouvé que dans la colonne heures certains des chiffres étaient stockés sous forme texte, du coup ce n’était pas pris en compte, j'ai fait la modif et dans ma feuille stat ça apparait.
Par contre dans l'user 3, quand je cherche formation programmées par semaine, la semaine 53 n'apparait pas.
Est il possible de formater en chiffre toutes les textbox renvoyant ce type d'informations.
Une autre idées, serait il possible sur l'user form 3 de rajouter une sélection par années,vu que c bientôt fin 2012 (si les prédiction fin du monde ne se réalisent pas) pour 2013, c'est peu etre sympa d'avoir le choix de l'année et pouvoir récupérer les info par années.
Car j'envisageais éventuellement de recuperer l'historique et de 'l intégrer directement dans ce fichier, cela m’éviterai de gérer 3 ou 4 fichiers, tout serai dans ce seul fichier est ce possible.
 

Pièces jointes

  • alti-19-1.xlsm
    350.3 KB · Affichages: 52
  • alti-19-1.xlsm
    350.3 KB · Affichages: 51
  • alti-19-1.xlsm
    350.3 KB · Affichages: 45

laetitia90

XLDnaute Barbatruc
Re : modifier une cellule en modifiant la bonne ligne

re en regardeant de plus prés.... le code s'allonge de plus en plus
une autre facon de l'ecrire code 2 fois plus court possibilitées de recherche sur les 18 colonnes & non 5
a reflechir!!!
un exemple en fichier
 

Pièces jointes

  • listbox alti.xlsm
    83.7 KB · Affichages: 80

altinea

XLDnaute Accro
Re : modifier une cellule en modifiant la bonne ligne

Re Laetitai90, merci pour cet exemple, c'est parfait. En fait il manque juste la possibilité de choisir par année éventuellement, et utiliser les deux feuilles réalisées et programmées.
sur ton exemple, le bouton imprimer m'interresse aussi, à quoi sert le bouton réserve.

Sinon éventuellement ne rajouter que le choix par année et le choix par code, mais si tu pense que ça complique, on peux essayer avec ta proposition.


Je suis ok pour ce système, par contre je ne sais pas si j'arriverai à l'intégrer à mon fichier.

Je t'envoi dans quelques isntants un fichier que j'ai retravaillé par rapport à des problemes de formats, car dans la partie stats, j'ai également rajouté la possibilité de selectionner par rapport à l'année.

De même comme ej te demandai, dans l'user 3, sélectionner le choix de l'année, tout en ayant la possibilité d'avoir l'historique de toutes les formation pour un agent sur toutes les dates.

je finis de mettre enplace les formules pour les stats et je t'envoi un fichier théoriquement propore au niveau des infos

Merci tiens moi au courant, si tu peux l'intégrer
 

altinea

XLDnaute Accro
Re : modifier une cellule en modifiant la bonne ligne

re Laetita90,
Ci joint le fichier mis à jours.
J'ai rajouté une combobox dans l'user statistiques, ça fonctionne puisqu'il me change la date sur la feuille mais il ne me rafraichi pas les infos sur l'user stat.
Donc si tu veux intégrer ton expemle de tout à l'heure se sera parfait avec les infos qui sont à jour maintenant.
Merci
 

laetitia90

XLDnaute Barbatruc
Re : modifier une cellule en modifiant la bonne ligne

re,j'ai mis sur un ancien fichier par erreur pas envie de recommencer:) tu adaptes a ton dernier fichier trés simple
dans feuil 3 & 5 j'ai rajoute une colonne Annee j'ai mis 2012 sur la colonne et seulement 1fois 2013 voir si cela marche
tu supprime user3 tu colles l'autre a la place
dans user acceuil tu modifie comme cela

Code:
Private Sub CommandButton16_Click()
Unload Me
Sheets("Feuil3").Select
Historique.Show
End Sub
Private Sub CommandButton19_Click()
Unload Me
Sheets("Feuil5").Select
Historique.Caption = "           RECHERCHES   Agent   par   Formation   Programmées"
Historique.Show
End Sub

dans user1 j'ai fais 2 modif pour en tenir compte

Code:
 Private Sub Ajout_Click()
 a = IIf(Label12.Caption = "SAISIE DES FORMATIONS REALISEES", 3, 5)
 With Sheets("Feuil" & a)
    z = .Cells.Find("*", , , , xlByRows, xlPrevious).Row + 1
 For y = 1 To 10: .Cells(z, y) = Controls("Te" & y).Value: Next y
 For y = 1 To 5: .Cells(z, y + 10) = Controls("T" & y).Value: Next y
   .Cells(z, 16) = Tb_date
   .Cells(z, 17) = Tb_mois.Value
   .Cells(z, 18) = Tb_semaine.Value
   .Cells(z, 19) = Right(Tb_date, 4) 'ligne rajoute
   Cb_nomprenom = "": C1 = ""
 For Each j In Controls
   If TypeName(j) = "TextBox" Then j = ""
 Next j
  .Range("a3:s" & .Cells.Find("*", , , , , xlPrevious).Row).Sort _
  Key1:=.Range("a3"), Order1:=xlAscending, Header:=xlGuess 'ligne corrige
  End With
 ect....
 

Pièces jointes

  • alti-20.xlsm
    327.2 KB · Affichages: 45

altinea

XLDnaute Accro
Re : modifier une cellule en modifiant la bonne ligne

Bonsoir Laetitia90,
ci joint le fichier revisité avec tes dernières infos.
j'ai réussi faire ce quet u m'as proposé,et ça marche

quelques petits points éventuellement à peaufiner :
- 1 - pouvoir afficher sur l'userform historique s'il s'agit des formation réalisées ou programmées, dans une textbox comme j'ai mis pour les réalisées mais reste pour les programmées
- 2 - dans l'userform statistique j'ai rajouté une combobox avec les années, mais cela ne l'actualise pas les infos, ça change l'année dans la feuille9 mais ne met pas à jour directement, sauf si je quitte l'userform et je reviens sur lui
- 3 - je ne vois pour le moment rien d'autre j'espère que c'est bientôt fini, car je t'ai énormément sollicité et tu as toujours répondu, et je t'en remercie .
Je te souhaite bonne soirée
 

Pièces jointes

  • alti-20-1.xlsm
    345.3 KB · Affichages: 57

Discussions similaires

Réponses
1
Affichages
103
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 090
Messages
2 085 210
Membres
102 820
dernier inscrit
SIEG68