VBA Recopier données formulaire selon valeur Textbox vers ligne correspondante

Johan

XLDnaute Occasionnel
Bonjour à tous,

Mon titre est certainement très vague. Je m'explique : je souhaite,en recopiant dans une textbox d'un formulaire un numéro (cellule A2 du fichier joint) que toutes les autres valeurs de mes textbox viennent remplir certaines colonnes correspondantes de la même ligne (à savoir dans mon fichier joint G2 H2 et I2).

Le fait est que les données des colonnes B C D E F sont récupérées automatiquement d'un autre classeur selon une formule index/equiv tjs à partir du même numéro (je n'ai pas refait la formule dans mon fichier test pour simplifier la chose)

J'avais au préalable rentré le code suivant pour remplir la dernière ligne non-vide de mon tableau

Private Sub VALIDER_Click()

With Feuil1.ListObjects(1)

.ListRows.Add
.Range(.Range.Rows.Count, 7).Value = Action.Value
.Range(.Range.Rows.Count, 8).Value = DateAction.Value
.Range(.Range.Rows.Count, 9).Value = RespAction.Value

End With

Formulaire.Hide

End Sub


Mais je me retrouve désormais à remplir la dernière ligne (Ligne 4) non vide et non celle avec le numéro correspondant (Ligne 2)

Dans le fichier ci-joint j'ai donc rajouté une textbox "NumAction" pour la manip souhaitée mais c'est là ou je bloque. Il faut qu'en renseignant "A1" dans la première textbox du formulaire et en remplissant par exemple "test" dans les autres textbox, la validation vienne écrire "test" dans les colonnes G H & I de ma ligne 2...

Merci d'avance !!!
 

Pièces jointes

  • Remplissage ligne selon valeur textbox.xlsm
    22.7 KB · Affichages: 47

Lone-wolf

XLDnaute Barbatruc
Re : VBA Recopier données formulaire selon valeur Textbox vers ligne correspondante

Bonsoir Johan,

Un essai comme ceci peut-être


Code:
With Feuil1.ListObjects(1)
        .ListRows.Add
        .Range(.Range.Rows.Count - 1, 1).Value = NumAction.Value
        .Range(.Range.Rows.Count - 1, 7).Value = Action.Value
        .Range(.Range.Rows.Count - 1, 8).Value = DateAction.Value
        .Range(.Range.Rows.Count - 1, 9).Value = RespAction.Value   
 End With


Sans titre 2.jpg

A+ :cool:
 

Pièces jointes

  • Sans titre 2.jpg
    Sans titre 2.jpg
    13.5 KB · Affichages: 38
Dernière édition:

Johan

XLDnaute Occasionnel
Re : VBA Recopier données formulaire selon valeur Textbox vers ligne correspondante

Salut Lone-Wolf, merci pour ta réponse! C'est astucieux, tu as bien contourné la difficulté ;)

Seul souci, c'est qu'en commençant sur un tableau vide (ce qui est le cas du fichier final sur lequel je travaille) ton code vient carrément remplacer ma ligne des en-têtes de colonnes! C'est pas embêtant vu que je peux écrire nimporte quoi sur ma premiere ligne et effacer une fois la machine en route...

Peut-être connais-tu un moyen de codifier le fait que la macro puisse démarrer à partir de la ligne 2 ?
 

Discussions similaires

Réponses
18
Affichages
598
Réponses
4
Affichages
191

Statistiques des forums

Discussions
312 080
Messages
2 085 150
Membres
102 794
dernier inscrit
espinata