Modifier code VBA

Bonjour

Sur le code ci-dessous je cherche la solution suivante:

ComboBox1 je choisis un nom ,ensuite je valide par un bouton jusque là c'est bon le nom se met en cellule C4 de la feuille inscriptions

il faudrait qu'une fois validé je puisse choisir un autre nom et qu'il aille se mettre dans la cellule C5 de la feuille inscriptions et ainsi de suite

Je vous remercie pour votre aide ,je dépanne un demandeur

Private Sub CommandButton1_Click()
    If Me.ComboBox1 <> "" Then
       Worksheets("Inscriptions").Range("C" & L) = Me.ComboBox1.Value
      End If

Bonjour

Je n'ai pas assez d'informations pour vous répondre
Il faudrait savoir comment la variable L est incrémentée.

Mettez le code complet ou éventuellement le fichier en ligne (sans données confidentielles)

Cordialement

Bonjour Dan merci pour ton aide

Ci-dessous le code complet

Vois s'il est possible de faire quelque chose car là je coince

Option Explicit
Dim a(), I, ws As Worksheet

Private Sub ComboBox1_Change()
    Dim d1 As Object, tmp

    Set d1 = CreateObject("Scripting.Dictionary")
    tmp = UCase(Me.ComboBox1) & "*"
    For Each I In a
        If UCase(I) Like tmp Then d1(I) = ""
    Next I
    Me.ComboBox1.List = d1.keys
    Me.ComboBox1.DropDown
End Sub

Private Sub CommandButton1_Click()
    If Me.ComboBox1 <> "" Then
       Worksheets("Inscriptions").Range("C" & L) = Me.ComboBox1.Value
       Me.ComboBox1 = ""

       End If
       End Sub     

Private Sub UserForm_Initialize()

    Set ws = Worksheets("Noms")
    a = ws.Range("A2:A" & ws.Range("A65000").End(xlUp).Row).Value
    Me.ComboBox1.List = a

End Sub

Votre problème vient du fait que la variable L ne contient pas de valeur.

Il faut savoir de quelle ligne on parle dans la colonne C en cliquant sur le bouton Commandbutton1 ?

Il s'agit de la cellule C4 donc ligne4

Il s'agit de la cellule C4 donc ligne4

Dans votre premier message vous parlez aussi de C5.
Sans voir votre fichier et surtout ce que vous avez dans cette colonne C, vous pouvez essayer en modifiant le code commandbutton1 :

Private Sub CommandButton1_Click()
Dim L As Integer
If Me.ComboBox1 <> "" Then
    With Worksheets("Inscriptions")
        L = .Range("C" & Rows.Count).End(xlUp).Row + 1
        .Range("C" & L) = Me.ComboBox1.Value
    End With
    Me.ComboBox1 = ""
End If
End Sub

L correspond à la première ligne vide en colonne C.
Dans votre cas, cela suppose donc que C3 est toujours complétée (par exemple un titre en C3). Dans ce cas, le code complétera à partir de la ligne 4 puis 5 et ainsi de suite

Si ok -->

Cordialement

Bonjour

J'ai mis ton code mais cela ne fonctionne pas

Je te joins le fichier complet

Merci pour ton aide

J'ai mis ton code mais cela ne fonctionne pas

Si si, le code fonctionne. Le souci est que vous avez des données en ligne 44 et suivantes. Supprimez-les puis relancez l'usf

Par la même occasion supprimez la déclaration de variable L qui se trouve dans le module 1. Elle est déclarée dans le code

Autre chose : votre code d'initialisation de l'USF peut être plutôt ceci

Private Sub UserForm_Initialize()
Dim ws As Worksheet

Set ws = Worksheets("Noms")
a = ws.Range("A2:A" & ws.Range("A" & Rows.Count).End(xlUp).Row).Value
ComboBox1.List = a
ComboBox2.List = a
ComboBox3.List = a
End Sub

Vous pouvez aussi supprimer les déclarations de variables Ws que vous avez mise en entête de l'usf. On la place dans le code initialisation puisqu'elle ne sert que pour ce code

J'ai remplacé le code dans l'UF

Cela ne fonctionne pas j'ai un beug sur ce code

Range("C" & L)  'le L se met en jaune
Private Sub CommandButton1_Click()
    If Me.ComboBox1 <> "" Then
       Worksheets("Inscriptions").Range("C" & L) = Me.ComboBox1.Value
        Unload UserForm1
    End If

Je ne comprends pas ce que vous faites

De mon coté, j'ouvre votre usf, je coche Tete à Tete et dans la Combobox1 je choisis Alain

Je clique sur le bouton Valider et cela met Alain en C4

NB : votre code n'est pas identique à celui du fichier posté. Je vous ai déjà expliqué dans un post précédent

Je te joins le fichier avec les modifs que tu m'as données

Désolé rien ne ce met en C4

4test.xlsm (82.27 Ko)

Je te joins le fichier avec les modifs que tu m'as données

Si vous ne lisez pas ce que j'écris avant, on ne peut avancer....

Le problème est résolu

mais je viens de m'apercevoir de ceci

Si je sélectionne TàT ok cela va bien en C4

si juste derrière je sélectionne Doublette le 1° nom va bien en C5 mais le 2° va en D4 au lieu de D5

En doublette les 3 noms doivent être sur la même ligne

idem pour la triplette

si juste derrière je sélectionne Doublette le 1° nom va bien en C5 mais le 2° va en D4 au lieu de D5

En doublette les 3 noms doivent être sur la même ligne

Vous devez supprimer cette ligne dans les cas où la combobox2 (colonne D) et combobox3 (colonne E) sont <> ""

L = .Range("C" & Rows.Count).End(xlUp).Row + 1

Cette ligne ne doit se trouver qu'une seule fois dans le code commandbutton1 et uniquement dans la condition combobox1 <>""

Un grand merci a toi tout fonctionne

Bonne soirée

Cordialement

Rechercher des sujets similaires à "modifier code vba"