• Initiateur de la discussion Initiateur de la discussion egman
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

egman

XLDnaute Occasionnel
Bonjour à tous,

j'ai un petit probléme sur un Usrform de saisie de données.
Lors de la recopie des données du usrform sur ma feuille j'ai un probléme d'incrémentation.
j'ai une ligne de titre et normalement lorsque je rajoute des données celles ci se rajoutent à la ligne suivante...
HTML:
Private Sub CmdAjout_Click()
'Ajouter des données
Dim CTRL As Control 'Variable pour la collection des controls
Dim L As Integer 'Variable pour connaitre le numéro de derniere ligne vide
Dim x As Integer, i As Integer 'Variables pour faire la boucle de checking de Duplication
Dim Response As Byte
Dim Match As Byte


L = WS.Range("A65536").End(xlUp).Row + 1 ' On identifie la dernière ligne vide en partant du bas
'
'
'
'
'
With WS
    .Range("A" & L) = T1        ' On écrit dans chaque colonne les valeurs des différents controls
    .Range("B" & L) = CmbStatut
    .Range("C" & L) = T5
    .Range("D" & L) = T6
    .Range("E" & L) = T2
    .Range("F" & L) = T3

et en fait à chaque fois que je rajoute une ligne elle se place en tête de feuille sans tenir compte de ma ligne d'entête....

Alors est ce que c'est dans l'Initialisation de mon Usrform que quelque chose cloche je ne sais pas.

je vous dépose le fichier au cas ou cela aiderait à sa comprehension
Cijoint.fr - Service gratuit de dépôt de fichiers

D'avance merci à tous
 
Re : Usrform de saisie

Salut egman et le forum
en fait à chaque fois que je rajoute une ligne elle se place en tête de feuille sans tenir compte de ma ligne d'entête....
Pas chez moi : J'ai lancé ton USF, j'ai sélectionné la seule valeur disponible dans la comboBox en haut/gauche => ça m'a mis des valeurs.
Quand j'ai cliqué sur Ajout, une ligne s'est créée, en ligne 3, comme le définissait la variable L 😕
A+

Nota : indentation ou pas, utilisation de ":" pour mettre plusieurs instructions sur la même ligne... sans conter que tu utilises un environnement V.2003 (A65536), en espèrant ne jamais changer, avec des lignes déclarées en Integer...
C'est déjà un code long, mais si en plus tu cherches à le rendre illisible... je te suggère d'investir dans une perruque le jour où tu as une modif à effectuer 😀
 
Dernière édition:
Re : Usrform de saisie

Bonjour Egman, bonjour le forum,

J'ai testé ton code et il me renvoie L=3 la première fois ! Donc ça devrait marcher... L est utilisée deux fois (mais ça devrait pas non plus poser de problème puisqu'à la fin de l'ini et se reínitialise et elle est redéfinie dans le bouton ajout. En fait ça marche pas à pas mais ça plante en normal. Essaie quand même d'utiliser deux variables différentes L et Lini par exemple...
 
Re : Usrform de saisie

Bonjour le fil, bonjour le forum,

je me suis rendu compte que si tu cliquais sur ajout sans aucun élément dasns la liste d'article ça rajouter une ligne vide en haut à cause de cette commande :
Code:
    WS.Range("A2").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess 'Le Sort
À voir de ce coté là peut-être...
 
Re : Usrform de saisie

Bonjour Robert, Gorfael,

merci à vous d'avoir pris le temps de répondre à mon code qui n'est pas trés clair je l'avoue. Y'a surement plus simple mais je ne sais pas faire.
Je vais re-tester en séparant mes variables L et Lini comme le dit Robert et vais supprimer la ligne
HTML:
WS.Range("A2").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess 'Le Sort

Je regarde à tout çà.

Encore MERCI à vous
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
106
Retour