Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

insérer nom des feuilles dans liste

1 réponse
Avatar
Bomber
Bonjour

J'ai crée un code qui permet que lorsque que une checkbox est cochée : une
feuille de base est copiée et renommée, en fait je bloque sur le fait que je
voudrais que le nom de ma feuille soit insérée dans un liste.
Le problème de mon code est que dès que plusieurs checkbox sont validées
c'est le nom de la dernière feuille créée qui s'affiche dans ma liste.

le code (pour simplifier j'ai seulement mis le code correspondant à 2
checkbox) :

Dim L As Integer
L = Sheets("divers").Range("E65536").End(xlUp).Row + 1

'Copier-coller feuille quand le permis est sélectionné
If creerb = True Then
For i = 1 To Sheets.Count
If Sheets(i).Name = "B" Then
MsgBox "Le permis B a déjà été créé"
Exit Sub
End If
Next i
Worksheets("base").Copy after:=Worksheets("code")
ActiveSheet.Name = "B"
Worksheets("divers").Range("E" & L).Value = "B"
End If


If creerbavecaac = True Then
For i = 1 To Sheets.Count
If Sheets(i).Name = "BavecAAC" Then
MsgBox "Le permis B avec AAC a déjà été créé"
Exit Sub
End If
Next i
Worksheets("base").Copy after:=Worksheets("code")
ActiveSheet.Name = "BavecAAC"
Worksheets("divers").Range("E" & L).Value = "B avec AAC"
End If


Merci d'avance.

1 réponse

Avatar
Benead
Bonsoir Bomber,

Pas sur d'avoir bien compris. Ta liste c'est quoi ? Un ListBox ou la colonne E de ta feuille "divers" ?
Sur la lecture du code je pencherai pour la seconde solution, donc les ajouts de ta liste seraient incrémentés par la
variable L. Dans ce cas, à chaque fois que tu ajoutes un élément, il faut que tu incrémentes une ligne supplémentaire,
donc L=L+1 :
Worksheets("divers").Range("E" & L).Value = "B" : L=L+1
Worksheets("divers").Range("E" & L).Value = "B avec AAC" : L=L+1

A+
Benead

Bomber a écrit:
Bonjour

J'ai crée un code qui permet que lorsque que une checkbox est cochée : une
feuille de base est copiée et renommée, en fait je bloque sur le fait que je
voudrais que le nom de ma feuille soit insérée dans un liste.
Le problème de mon code est que dès que plusieurs checkbox sont validées
c'est le nom de la dernière feuille créée qui s'affiche dans ma liste.

le code (pour simplifier j'ai seulement mis le code correspondant à 2
checkbox) :

Dim L As Integer
L = Sheets("divers").Range("E65536").End(xlUp).Row + 1

'Copier-coller feuille quand le permis est sélectionné
If creerb = True Then
For i = 1 To Sheets.Count
If Sheets(i).Name = "B" Then
MsgBox "Le permis B a déjà été créé"
Exit Sub
End If
Next i
Worksheets("base").Copy after:=Worksheets("code")
ActiveSheet.Name = "B"
Worksheets("divers").Range("E" & L).Value = "B"
End If


If creerbavecaac = True Then
For i = 1 To Sheets.Count
If Sheets(i).Name = "BavecAAC" Then
MsgBox "Le permis B avec AAC a déjà été créé"
Exit Sub
End If
Next i
Worksheets("base").Copy after:=Worksheets("code")
ActiveSheet.Name = "BavecAAC"
Worksheets("divers").Range("E" & L).Value = "B avec AAC"
End If


Merci d'avance.