XL 2016 Pb dates inversées dans userform

YOUYOU25

XLDnaute Junior
Bonjour à tous,
J’ai créé un formulaire userform de recensement de matériel au travail et j’ai 2 Pb, un avec le bouton ajouter et
l’autre avec le bouton modifier. Je voudrais à partir d’une ligne existante, la recopier autant de fois
que d’ateliers concernés (soit ajouter) puis apporter des modifications pour différencier l’atelier
d’appartenance et les différentes dates.
J’appelle l’userform depuis la touche recensement au niveau de la cellule A1 du tableur excel. Je click
sur la troisième ligne de la ListView, les textbox sont renseignées puis je click sur ajouter, une
nouvelle ligne est créée mais les jours et les mois sont inversés dans les 3 cellules date (premier pb).
Ensuite je click cette fois sur cette nouvelle ligne insérée et pour exemple je modifie les données atelier et
je mentionne D pour essai puis je click sur modifier et là les données apportées à cette nouvelle ligne
sont reportées dans la ligne initiale et cette fois également avec les dates inversées.
Pourriez-vous SVP apporter une correction à ces pb.
Merci d’avance pour votre aide
 

Pièces jointes

  • TABLEAU lionel.xlsm
    47.2 KB · Affichages: 10
C

Compte Supprimé 979

Guest
Bonjour youyou25

Pour le problème de date, sujet connu et reconnu, il faut les inscrire avec la fonction CDate()
ou inscrire juste le nombre par une multiplication

Une petite recherche sur le forum ou avec l'ami Google vous apportera les solutions

A+
 

ChTi160

XLDnaute Barbatruc
Bonjour le Fil
Juste pour signaler une anomalie dans le Code du Bouton "Ajouter"
VB:
With D
' Assurez-vous que la date est correctement formatée avant de l'ajouter
            .Cells(1, 1).Value = Format(Date, "dd/mm/yyyy") 'ici on colle la date du jour dans la première colonne
For i = 1 To 11 'et ici on boucle de la première a la 11 ème colonne ce qui fait que la date disparait et est remplacé par le Code qui est l'entête de la Colonne
à voir donc
'j'ai ajouté ça pour le formatage des dates
 .Cells(1, i).Value = IIf(i > 6 And i < 10, Format(Me.Controls("TextBox" & i).Value, "00000"), Me.Controls("TextBox" & i).Value)
Next i
A voir et à tester
Bonne fin de journée
Jean marie
 

YOUYOU25

XLDnaute Junior
Bonjour le Fil
Juste pour signaler une anomalie dans le Code du Bouton "Ajouter"
VB:
With D
' Assurez-vous que la date est correctement formatée avant de l'ajouter
            .Cells(1, 1).Value = Format(Date, "dd/mm/yyyy") 'ici on colle la date du jour dans la première colonne
For i = 1 To 11 'et ici on boucle de la première a la 11 ème colonne ce qui fait que la date disparait et est remplacé par le Code qui est l'entête de la Colonne
à voir donc
'j'ai ajouté ça pour le formatage des dates
 .Cells(1, i).Value = IIf(i > 6 And i < 10, Format(Me.Controls("TextBox" & i).Value, "00000"), Me.Controls("TextBox" & i).Value)
Next i
A voir et à tester
Bonne fin de journée
Jean marie
Bonsoir ChTi160,

je viens d'essayer et c'est la perfection, je rame depuis tellement longtemps car tout neuf dans le métier. Merci à vous pour votre excellent travail et pour votre réactivité c'est génial. Un grand merci à vous, je vous souhaite une bonne soirée
 

YOUYOU25

XLDnaute Junior
Re
N'hésite pas si besoin !
J'espère que tu as corrigé l'anomalie ?
Jean marie
Bonjour Jean-Marie et merci pour votre aide

En poussant les essais ce matin j’ai toujours mon second pb et je reviens vers vous.

Je sélectionne ma 3ème ligne dans l’userform, je fais ajouter et répète l’opération soit 3 lignes insérée au même code et cette fois avec les dates correctes. Ensuite je sélectionne une à une ces nouvelles lignes et en modifie les textbox : pour quantité = 4, atelier = D et SGL = 4000 puis modifier : ça marche puis pour la ligne suivante 5 , E , 5000 et modifier mais là c'est le drame il me garde les valeurs de la dernière ligne modifiée mais remet les 2 autres lignes comme la ligne initiale soit la ligne des 3000. Pour 2 lignes ça marche mais pas plus et j’aurais besoins parfois de 10 lignes.

Merci à Vs

Bonne journée
 

ChTi160

XLDnaute Barbatruc
Bonsoir YOUYOU25
Je regarde ton fichier et j'ai constaté que Ton Combobox "Combo" contient x fois les mêmes Codes (pas Cool !)
Pourquoi ne pas rentrer que la Liste des Codes Uniques et selon le Choix fait récupérer toutes les Lignes qui correspondent à ce Code dans la ListView et ensuite faire le Choix de la Ligne à modifier !
Jean marie
 

YOUYOU25

XLDnaute Junior
Bonsoir YOUYOU25
Je regarde ton fichier et j'ai constaté que Ton Combobox "Combo" contient x fois les mêmes Codes (pas Cool !)
Pourquoi ne pas rentrer que la Liste des Codes Uniques et selon le Choix fait récupérer toutes les Lignes qui correspondent à ce Code dans la ListView et ensuite faire le Choix de la Ligne à modifier !
Jean marie
Bonsoir Jean Marie,

Tu as raison JM mais je ne maitrise pas encore suffisamment c'est pourquoi je demande aux pros

Merci pour ton attention
 

ChTi160

XLDnaute Barbatruc
re
Peux-tu me dire pourquoi tu entres la date du jour dans la première cellule de la Ligne ajoutée , pour ensuite la remplacer par le Code
VB:
With LstR
' Assurez-vous que la date est correctement formatée avant de l'ajouter
          .Range.Cells(1).Value = Format(Date, "dd/mm/yyyy")'Ici on entre la date du Jour     
For i = 1 To 11
      'ci dessous on entre le Colode lorsque i = 1
     Range.Cells(i).Value = IIf(i > 6 And i < 10, Format(Me.Controls("TextBox" & i).Value, "00000"), Me.Controls("TextBox" & i).Value)
 Next i
End Wit
Peux-tu me dire ce que tu veux faire avec la date du Jour ou veux-tu la mettre que doit-elle remplacer ?
je crois t'avoir déjà posé la question mais ........ ! voir #4
Jean marie
 

YOUYOU25

XLDnaute Junior
re
Peux-tu me dire pourquoi tu entres la date du jour dans la première cellule de la Ligne ajoutée , pour ensuite la remplacer par le Code
VB:
With LstR
' Assurez-vous que la date est correctement formatée avant de l'ajouter
          .Range.Cells(1).Value = Format(Date, "dd/mm/yyyy")'Ici on entre la date du Jour    
For i = 1 To 11
      'ci dessous on entre le Colode lorsque i = 1
     Range.Cells(i).Value = IIf(i > 6 And i < 10, Format(Me.Controls("TextBox" & i).Value, "00000"), Me.Controls("TextBox" & i).Value)
 Next i
End Wit
Peux-tu me dire ce que tu veux faire avec la date du Jour ou veux-tu la mettre que doit-elle remplacer ?
je crois t'avoir déjà posé la question mais ........ ! voir #4
Jean marie
Bonjour JM,

C'était une erreur de ma part pour la date puis le code, je l'ai corrigé.

si tu peux voir pour mon second pb ce serait super

Merci beaucoup

Bonne journée
 

ChTi160

XLDnaute Barbatruc
Bonjour YOUYOU25
Donc, lorsque tu ajoutes ou modifies une ligne, il n'y a aucune notion de date à ajouter ou modifier ?
Pour ce qui est de ton 2ème problème, je ne suis pas sûr d'avoir compris !
Il me semble que cela vient de la façon que tu as de définir la Ligne Cible (Index de Combobox)
je regarde dès que je le peux !
Bonne Journée
Jean marie
 

YOUYOU25

XLDnaute Junior
Bonsoir JM,

les 3 dates sont bien prises en compte avec ta proposition , il s'agit de date de recensement , d'affectation et de reversement et cela fonctionne. Pour le second Pb si je copie la dernière ligne 5 fois par exemple (soit AJOUTER 5 lignes au même code) et que je MODIFIE la première ajoutée comme mentionné plus haut, ça marche mais en continuant dans la modification de la 2 ligne ajoutées, la valeur de ligne cette fraichement modifiée est gardée mais celle d'avant disparait et remet les valeurs de la ligne initiale. Donc je ne peux pas mettre des valeurs différentes aux lignes ajoutées. Il faut essayer avec les valeurs mentionnées plus haut.

Merci à toi
 

ChTi160

XLDnaute Barbatruc
Re
Je vois que tu veux en finir et que seul t'intéresse ceux ci :
Pour le second Pb si je copie la dernière ligne 5 fois par exemple (soit AJOUTER 5 lignes au même code) et que je MODIFIE la première ajoutée comme mentionné plus haut, ça marche mais en continuant dans la modification de la 2 ligne ajoutées, la valeur de ligne cette fraichement modifiée est gardée mais celle d'avant disparait et remet les valeurs de la ligne initiale. Donc je ne peux pas mettre des valeurs différentes aux lignes ajoutées. Il faut essayer avec les valeurs mentionnées plus haut.
Donc ! Je verrai, ce que je peux faire.
Jean marie
 

Discussions similaires

Statistiques des forums

Discussions
312 206
Messages
2 086 220
Membres
103 158
dernier inscrit
laufin