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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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.
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
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