XL 2013 (RESOLU) Renseignement horizontal avec intersections via UserForm

chaelie2015

XLDnaute Accro
Bonsoir Forum
Dans un UserForm (USF), j'ai une ComboBox1 alimentée par une liste déroulante, un TextBox1, un bouton de validation nommé "CommandButton1", et une feuille nommée "Link". Cette feuille contient un tableau où la colonne A (site principal) va de A3 à A252 et la ligne 2 représente les sites vis-à-vis (de B2 à SG2). La colonne A est déjà renseignée.
Mon objectif est d'utiliser l'UserForm pour renseigner la ligne 2 à partir de la cellule B2 (et des cellules non vides suivantes) (rensignement horizotal) en utilisant le contenu du TextBox1. Ensuite, je souhaite cocher la cellule d'intersection entre la valeur sélectionnée dans ComboBox1 et le contenu du TextBox1 avec un "1"
Merci
 

Pièces jointes

  • CHARLIE _BdDGE.xlsm
    322.5 KB · Affichages: 2
Solution
Bonsoir Chaelie,
Un essai en PJ avec :
VB:
    ' Chercher la valeur du TextBox1 dans la colonne A et mettre "1" dans la cellule correspondante de la ligne 2
    Lig = Application.Match(ComboBox1.Value, ws.[A:A], 0)
    Col = Application.Match(TextBox1.Value, ws.[2:2], 0)
    If Not IsError(Col) Then
        ws.Cells(Lig, Col) = "X"                ' Car Site Vis à vis trouvé
    Else                                        ' Si non trouvé
        Col = Cells(2, Columns.Count).End(xlToLeft).Column ' Dernière colonne
        ws.Cells(2, Col + 1) = TextBox1.Value   ' Inscription nouveau  Site Vis à vis
        ws.Cells(Lig, Col + 1) = "X"            ' et le X qui va bien
    End If
J'ai mis votre code en commentaire.
A noter que dans...

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir Chaelie,
Un essai en PJ avec :
VB:
    ' Chercher la valeur du TextBox1 dans la colonne A et mettre "1" dans la cellule correspondante de la ligne 2
    Lig = Application.Match(ComboBox1.Value, ws.[A:A], 0)
    Col = Application.Match(TextBox1.Value, ws.[2:2], 0)
    If Not IsError(Col) Then
        ws.Cells(Lig, Col) = "X"                ' Car Site Vis à vis trouvé
    Else                                        ' Si non trouvé
        Col = Cells(2, Columns.Count).End(xlToLeft).Column ' Dernière colonne
        ws.Cells(2, Col + 1) = TextBox1.Value   ' Inscription nouveau  Site Vis à vis
        ws.Cells(Lig, Col + 1) = "X"            ' et le X qui va bien
    End If
J'ai mis votre code en commentaire.
A noter que dans votre code textBoxValue et comboBoxValue sont faux, il faut utiliser textBox1.Value et comboBox1.Value
 

Pièces jointes

  • CHARLIE _BdDGE.xlsm
    333.7 KB · Affichages: 2

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
Excusez moi, j'ai mis X et non 1, donc utilisez :
VB:
' Chercher la valeur du TextBox1 dans la colonne A et mettre "1" dans la cellule correspondante de la ligne 2
    Lig = Application.Match(ComboBox1.Value, ws.[A:A], 0)
    Col = Application.Match(TextBox1.Value, ws.[2:2], 0)
    If Not IsError(Col) Then
        ws.Cells(Lig, Col) = 1                ' Car Site Vis à vis trouvé
    Else                                        ' Si non trouvé
        Col = Cells(2, Columns.Count).End(xlToLeft).Column ' Dernière colonne
        ws.Cells(2, Col + 1) = TextBox1.Value   ' Inscription nouveau  Site Vis à vis
        ws.Cells(Lig, Col + 1) = 1            ' et le 1 qui va bien
    End If
 

Pièces jointes

  • CHARLIE _BdDGE (V2).xlsm
    333.2 KB · Affichages: 2

chaelie2015

XLDnaute Accro
Re,
Excusez moi, j'ai mis X et non 1, donc utilisez :
VB:
' Chercher la valeur du TextBox1 dans la colonne A et mettre "1" dans la cellule correspondante de la ligne 2
    Lig = Application.Match(ComboBox1.Value, ws.[A:A], 0)
    Col = Application.Match(TextBox1.Value, ws.[2:2], 0)
    If Not IsError(Col) Then
        ws.Cells(Lig, Col) = 1                ' Car Site Vis à vis trouvé
    Else                                        ' Si non trouvé
        Col = Cells(2, Columns.Count).End(xlToLeft).Column ' Dernière colonne
        ws.Cells(2, Col + 1) = TextBox1.Value   ' Inscription nouveau  Site Vis à vis
        ws.Cells(Lig, Col + 1) = 1            ' et le 1 qui va bien
    End If
Re
Oui, je l'ai déjà fait,
merci.
 
Dernière édition:

Statistiques des forums

Discussions
312 208
Messages
2 086 257
Membres
103 167
dernier inscrit
miriame