Erreur code

Bonjour,

Besoin de vos lumières sur une erreur de code

Code qui fonctionne

Private Sub CommandButton1_Click()
Dim OE As Worksheet 'déclare la variable OE (Onglet Existant)
Dim NomSalle As String
Dim hde As String
Dim ha As String
Dim valhde As String
Dim valha As String
Dim lassociation As String
Dim lejour As String
Dim lheurede As String
Dim lheurea As String

    Dim lignede As Variant
    Dim plageSel As Range
    Dim col As Integer
    Dim L As Integer

NomSalle = ComboBox2.Value

On Error Resume Next 'gestion des erreurs (en cas d'erreur passe à la ligne suivante)
Set OE = Worksheets(NomSalle) 'définit l'onglet OE (génère une erreur si cet onglet n'existe pas)
If Err <> 0 Then 'condition : si une erreur a été générée
    Err.Clear 'supprime l'erreur
    Sheets("Modele").Copy after:=Sheets("Modele") 'copie l'onglet Modèle après ljui-même
    ActiveSheet.Name = NomSalle 'renome l'onglet actif
End If 'fin de la condition
On Error GoTo 0 'annule la gestion des erreurs

If Sheets("listes").Range("A2").Value = "" Then
    Sheets("listes").Range("A2").Value = NomSalle
    Exit Sub
End If
If Sheets("listes").Range("A2").Offset(1, 0).Value = "" Then
    Sheets("listes").Range("A2").Offset(1, 0).Value = NomSalle
End If

Code qui ne fonctionne pas

Private Sub CommandButton1_Click()
Dim OE As Worksheet 'déclare la variable OE (Onglet Existant)
Dim NomSalle As String
Dim hde As String
Dim ha As String
Dim valhde As String
Dim valha As String
Dim lassociation As String
Dim lejour As String
Dim lheurede As String
Dim lheurea As String

    Dim lignede As Variant
    Dim plageSel As Range
    Dim col As Integer
    Dim L As Integer

lassociation = ComboxBox1.Value
lejour = ComboBox3.Value
lheurede = ComboBox4.Value
lheurea = ComboBox4.Value

With Worksheets("Recap")
L = .Range("a65536").End(xlUp).Row + 1 'Pour placer le nouvel enregistrement à la première ligne de tableau non vide

        .Range("A" & L).Value = NomSalle
        .Range("B" & L).Value = lassociation
        .Range("C" & L).Value = lejour
        .Range("D" & L).Value = lheurede
        .Range("E" & L).Value = lheurea
    End With
End Sub

Les 2 codes sont l'un après l'autre

Bonjour,

si tu as les deux codes dans le même userform, aucun ne doit fonctionner et tu dois avoir un message d'erreur

du genre "Nom ambigu détecté ....

Teste peut-être comme cela sans vérification du code

Option Explicit

Private Sub CommandButton1_Click()
Dim OE As Worksheet 'déclare la variable OE (Onglet Existant)
Dim NomSalle As String
Dim hde As String
Dim ha As String
Dim valhde As String
Dim valha As String
Dim lassociation As String
Dim lejour As String
Dim lheurede As String
Dim lheurea As String

    Dim lignede As Variant
    Dim plageSel As Range
    Dim col As Integer
    Dim L As Integer

NomSalle = ComboBox2.Value

On Error Resume Next 'gestion des erreurs (en cas d'erreur passe à la ligne suivante)
Set OE = Worksheets(NomSalle) 'définit l'onglet OE (génère une erreur si cet onglet n'existe pas)
If Err <> 0 Then 'condition : si une erreur a été générée
    Err.Clear 'supprime l'erreur
    Sheets("Modele").Copy after:=Sheets("Modele") 'copie l'onglet Modèle après ljui-même
    ActiveSheet.Name = NomSalle 'renome l'onglet actif
End If 'fin de la condition
On Error GoTo 0 'annule la gestion des erreurs

If Sheets("listes").Range("A2").Value = "" Then
    Sheets("listes").Range("A2").Value = NomSalle
    Exit Sub
End If
If Sheets("listes").Range("A2").Offset(1, 0).Value = "" Then
    Sheets("listes").Range("A2").Offset(1, 0).Value = NomSalle
End If

lassociation = ComboxBox1.Value
lejour = ComboBox3.Value
lheurede = ComboBox4.Value
lheurea = ComboBox4.Value

With Worksheets("Recap")
L = .Range("a65536").End(xlUp).Row + 1 'Pour placer le nouvel enregistrement à la première ligne de tableau non vide

        .Range("A" & L).Value = NomSalle
        .Range("B" & L).Value = lassociation
        .Range("C" & L).Value = lejour
        .Range("D" & L).Value = lheurede
        .Range("E" & L).Value = lheurea
    End With
End Sub

En fait, j'avais une erreur d'écriture ComboxBox1.Value au lieu de ComboBox1.Value

Bonjour Richard, M12, bonjour le forum,

Le code ne fonctionne pas, ça ne veut pas dire grand chose !... Quelle est la ligne qui plante ? Quel est le massage d'erreur ?

Nous ne connaissons pas le contenu des comboboxes !?... Selon leur contenu, cela peut générer une erreur...

Les variables lheurede et lheurea ont la même valeur !... Est-ce normal ?

lheurede = ComboBox4.Value
lheurea = ComboBox4.Value

Bref, si tu ne fournis pas le fichier qui va bien on aura du mal à résoudre ton problème...

Les variables lheurede et lheurea ont la même valeur !... Est-ce normal ?

lheurede = ComboBox4.Value

lheurea = ComboBox4.Value

Bref, si tu ne fournis pas le fichier qui va bien on aura du mal à résoudre ton problème...

Ils vont chercher les valeurs dans la même liste.

Je dois créer 2 listes distinctes ?

Mon fichier encore en cours de codage est en pièce jointe

Bonjour ThauThème

Je crois que soit je suis idiot, soit vive la fin du confinement pour que je puisse m'aérer le cerveau (il en a grand besoin)

J'ai une combobox 4 et une combobox 5 qui vont chercher la même liste. Cela va nettement mieux quand tu donnes les bonnes valeurs.

A plus tard car je continue mon encodage

Un autre probleme,

Dans ma feuille où j'ai mes listes, j'ai un intitulé de listes (installations, jour, association,...). Une fois que mon userform se ferme, le nom d'une de liste (dans la feuille liste) change. Avez vous une idée ?

Merci pour vos réponses

Si quelqu'un veut bien m'aider pour finir, je ne trouve pas la solution. Cela concerne la réservation.

Le fichier est joint

Rechercher des sujets similaires à "erreur code"