|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Étudiant Inscription : juillet 2011 Messages : 19 ![]() |
Bonjour à tous,
J'ai construit un formulaire avec des textboxs qui permettent de copier le texte entré dans la première ligne vide d'une colonne donnée. J'utilise le code suivant: Code :
Sheets("direct").Range("B65536").End(xlUp).Offset(1, 0).Value = ComboBox2 Cela créé donc un décalage. Je cherche donc à ce que les données de cette textbox ne soient pas saisies dans la première ligne non vide mais plutôt dans la même ligne que les autres textboxs. Merci à tous pour votre aide |
|
|
00
|
|
|
#2 | ||
|
Membre actif
![]() Inscription : novembre 2008 Messages : 188 ![]() |
J'avoue ne pas avoir bien saisi ta question...
Si tu connais le numéro de ligne tu peux accéder à la cellule en question via la collection Cells: Code :
Cells(numéro_ligne, numéro_colonne).Value = Code :
|
||
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Étudiant Inscription : juillet 2011 Messages : 19 ![]() |
Ok désolé je reformule
Je ne connais pas à l'avance le numéro de la cellule tu tableau où devra être inscrite la donnée. Mon formulaire me permet de saisir des informations dans un tableau Excel. Il y a dans ce formulaire des textboxs. A chaque fois que l'utilisateur utilise le formulaire pour entrer des données, les données saisies dans ces textboxs doivent être copier à la suite des autres dans le tableau. Je ne connais pas à l'avance le numéro de la cellule tu tableau où devra être inscrite la donnée. Exemple: 1ere utilisation du formulaire: Textbox 1: Jean Michel inscris dans la cellule A2 Textbox 2: Paris inscris dans la cellule B2 Textbox 3: Marié inscris dans la cellule C2 Textbox 4 (Commentaire): (vide) en D2 2eme utilisation du formulaire: Textbox1: Jean Jacques inscris dans la cellule A3 Textbox2: Evry en B3 Textbox3: Divorcé en C3 Textbox4 (commentaire): Concubinage inscris en D2 Avec mon code actuel, le texte de la textbox commentaire est inscris à la suite de la dernière ligne remplie. Et le commentaire concubinage est inscris une ligne trop haut. Je voudrais donc que pour cette textbox, le text soit saisie dans la même ligne que la textbox1, non pas dans la première colonne vide. |
|
|
00
|
|
|
#4 | ||
|
Membre actif
![]() Inscription : novembre 2008 Messages : 188 ![]() |
Ok. Dans ce cas, j'imagine qu'au moins une de tes Textbox doit être obligatoirement remplie.
Il suffit alors de chercher la première cellule vide dans la colonne correspondante à cette Textbox et de remplir les autres lignes en utilisant leur position relative à la cellulle de la Textbox obligatoire. En prenant une cellule arbitraire pour la cellule "obligatoire": Code :
|
||
|
|
10
|
|
|
#5 | ||
|
Expert Confirmé Sénior
![]() Inscription : juillet 2008 Messages : 5 848 ![]() |
Bonjour
En réponse au #1 Code :
__________________
Cordialement. |
||
|
|
20
|
|
|
#6 | ||
|
Invité régulier
![]() Étudiant Inscription : juillet 2011 Messages : 19 ![]() |
Merci pour votre aide.
@ Sclarckone: J'ai procédé en adaptant ton code au miens en prenant pour référence la cellule de gauche. Code :
Sheets("direct").Range("J65536").End(xlUp).Offset(0, 1).Value = TextBox1.Value On peut mettre tous les codes à la suite dans le With...end with plutôt que que répéter à chaque fois l'opération pour chaque colonne Code :
Je vais essayer. Merci à vous en tout cas |
||
|
|
00
|
|
|
#7 | ||
|
Expert Confirmé Sénior
![]() Inscription : juillet 2008 Messages : 5 848 ![]() |
Avoir peur de structurer son code est un risque profitable à prendre.
Au lieu de chercher la dernière ligne de chaque colonne, ci joint code permettant de chercher le ligne en question en colonne B et permet de dispatcher les données vers les colonnes de la même lignes à l'aide de l'offset Code :
__________________
Cordialement. |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com