Bonjour à tous, par cette belle journée ensoleillée !
Je viens vers vous pour une pôtite question, m'voyez.
Alors je vous explique la situation.
Sur mon fichier Excel, j'ai des boutons qui permettent d'ouvrir des Userform. Ces Userforms sont comme des "formulaires" avec différentes listbox, combobox et textbox.
Je désire remplir une ligne Excel PRECISE (et j'insiste sur le précise) avec les informations contenues dans ces texbox etc. lorsque je clique sur mon bouton "validerreponse"
Une information contenue dans l'une de ces textbox correspond à un numéro (de 1 à 65000 et quelques). Ce numéro IDENTIFIE la ligne dans laquelle je veux que les informations soient collées. Il est unique pour chaque ligne.
Aujourd'hui, lorsque je clique sur mon bouton "validerreponse", les informations de mes textbox sont bien retranscrites dans mon tableau MAIS dans la dernière ligne non vide !! Or, j'aimerai que ces informations soient retranscrites dans la ligne correspondant à mon numéro PRÉCIS (de ma textbox numéro).
Si l'un d'entre vous peut éclairer ma lanterne, je lui en serais immensément reconnaissant !
Voici le code (le code, c'est la loi -> CF Pirates des Caraïbes) :
Private Sub ValiderReponse_Click()
Dim p, num As Long
num = Sheets("feuil1").Range("c65536").End(xlUp).Row
'inscription des données récupérées du formulaire validé dans la feuille excel
'sélection de la ligne sur laquelle écrire (la première vide)
'on part du bas de la colonne, on cherche
'la première cellule non vide avec end(xlup), on renvoie son N° avec row et on ajoute 1 pour avoir le numéro de la
'ligne d'en dessous
Sheets("feuil1").Activate
Range("Q" & num).Value = causes.Value 'remplissage de la cellule appropriée
Range("R" & num).Value = action.Value 'remplissage de la cellule appropriée
Range("S" & num).Value = Responsable.Value 'remplissage de la cellule appropriée
Range("T" & num).Value = CDate(TxtDateRéponse.Value) 'le cdate sert à convertir une date au format des paramètres régionaux du pc
Unload Me 'on décharge le formulaire. Du coup au prochain affichage, les contrôles seront remis dans
'leur état initial.
End Sub
Je viens vers vous pour une pôtite question, m'voyez.
Alors je vous explique la situation.
Sur mon fichier Excel, j'ai des boutons qui permettent d'ouvrir des Userform. Ces Userforms sont comme des "formulaires" avec différentes listbox, combobox et textbox.
Je désire remplir une ligne Excel PRECISE (et j'insiste sur le précise) avec les informations contenues dans ces texbox etc. lorsque je clique sur mon bouton "validerreponse"
Une information contenue dans l'une de ces textbox correspond à un numéro (de 1 à 65000 et quelques). Ce numéro IDENTIFIE la ligne dans laquelle je veux que les informations soient collées. Il est unique pour chaque ligne.
Aujourd'hui, lorsque je clique sur mon bouton "validerreponse", les informations de mes textbox sont bien retranscrites dans mon tableau MAIS dans la dernière ligne non vide !! Or, j'aimerai que ces informations soient retranscrites dans la ligne correspondant à mon numéro PRÉCIS (de ma textbox numéro).
Si l'un d'entre vous peut éclairer ma lanterne, je lui en serais immensément reconnaissant !
Voici le code (le code, c'est la loi -> CF Pirates des Caraïbes) :
Private Sub ValiderReponse_Click()
Dim p, num As Long
num = Sheets("feuil1").Range("c65536").End(xlUp).Row
'inscription des données récupérées du formulaire validé dans la feuille excel
'sélection de la ligne sur laquelle écrire (la première vide)
'on part du bas de la colonne, on cherche
'la première cellule non vide avec end(xlup), on renvoie son N° avec row et on ajoute 1 pour avoir le numéro de la
'ligne d'en dessous
Sheets("feuil1").Activate
Range("Q" & num).Value = causes.Value 'remplissage de la cellule appropriée
Range("R" & num).Value = action.Value 'remplissage de la cellule appropriée
Range("S" & num).Value = Responsable.Value 'remplissage de la cellule appropriée
Range("T" & num).Value = CDate(TxtDateRéponse.Value) 'le cdate sert à convertir une date au format des paramètres régionaux du pc
Unload Me 'on décharge le formulaire. Du coup au prochain affichage, les contrôles seront remis dans
'leur état initial.
End Sub
Dernière édition: