Bonjour ExcelDownloadéen.nes
J'ai un petit soucis que je n'arrive pas à régler sur Excel et j'espère trouver ici une solution au mieux et des conseils au pire pour améliorer ma macro.
Voici le problème :
J'ai un formulaire avec lequel je commande la suppression d'une feuille.
Lorsque la feuille sélectionnée est supprimée, le formulaire disparait alors
Je me doc vois obligé de partir de la feuille et d'y retourner pour le voir réapparaitre (j'ai un code pour cela, voir plus bas).
Et comme cela ne vous parlera pas plus que cela sans le code que j'ai rédigé, voici ce dernier:
	
	
	
	
	
		
La feuille elle-même contient le code ci-dessous. Je remplis la liste des feuille à partir d'une liste que je crée au fur et à mesure que mes feuilles sont créées. Cela me permet de conserver cette liste, même après fermeture de mon classeur Excel.
	
	
	
	
	
		
Gestionnaire : Nom de mon formulaire
Liste_Feuilles : ListBox qui contient la liste des feuilles enregistrées à la colonne 'O' de la feuille.
Gestionnaire s'affiche et Liste_Feuilles se met donc à jour à chaque fois que je rentre sur la feuille. Dans les autres feuilles, je code pour faire disparaitre Gestionnaire (Gestionnaire.Hide).
J'ajoute deux captures d'écran avant et après le déroulement du code :
AVANT:
		
		
	
	
		
	
APRES:
		
	
Pour information, j'ai déjà essayé de sélectionner une autre page et de revenir pour dérouler à nouveau le code de sélection de la page ou juste d'ajouter Gestionnaire.Show False à la toute fin du code. De même j'ai déjà essayé en supprimant mes commandes de suppression de mise à jour d'affichage/désactivation des messages d'alerte.
Mais rien à faire: pas moyen de faire réapparaitre Gestionnaire autrement qu'en partant manuellement de la page et d'y retourner. 🙁
Auriez-vous une idée de la raison de mon tourment?
Merci par avance!
	
		
			
		
		
	
				
			J'ai un petit soucis que je n'arrive pas à régler sur Excel et j'espère trouver ici une solution au mieux et des conseils au pire pour améliorer ma macro.
Voici le problème :
J'ai un formulaire avec lequel je commande la suppression d'une feuille.
Lorsque la feuille sélectionnée est supprimée, le formulaire disparait alors
Je me doc vois obligé de partir de la feuille et d'y retourner pour le voir réapparaitre (j'ai un code pour cela, voir plus bas).
Et comme cela ne vous parlera pas plus que cela sans le code que j'ai rédigé, voici ce dernier:
		VB:
	
	
	Private Sub Retrait_Liste_Click()
    Dim feuil_select$
    Dim list_pt%
    'Si aucun élément sélectionné
    If IsNull(Liste_Feuilles.Value) Then
        MsgBox ("Veuillez sélectionner un élément de la liste que vous souhaitez supprimer.")
        Exit Sub '***QUITTER***
    End If
    'Initialisation des variables
    feuil_select = Liste_Feuilles.Value
    list_pt = 0
'Repérer la position de la valeur sélectionnée dans la liste
    While feuil_select <> Liste_Feuilles.Column(0, list_pt)
        list_pt = list_pt + 1
    Wend
'Cacher la mise à jour des alertes/de l'affichage le temps de la fonction
    With Application
        .ScreenUpdating = False
        .DisplayAlerts = False
    End With
 'Retirer l'élément de la liste à la position correspondante
    Liste_Feuilles.RemoveItem list_pt
'Retirer la feuille dont le nom est sélectionné
    Worksheets(feuil_select).Delete
'Retirer le nom de la feuille dans la liste d'enregistrement   
    list_pt = list_pt + 2
    Cells(list_pt, 15).Select
    Selection.Delete Shift:=xlUp
    'Réactiver la mise à jour des alertes/affichage
    With Application
        .ScreenUpdating = True
        .DisplayAlerts = True
    End With
End Sub
	La feuille elle-même contient le code ci-dessous. Je remplis la liste des feuille à partir d'une liste que je crée au fur et à mesure que mes feuilles sont créées. Cela me permet de conserver cette liste, même après fermeture de mon classeur Excel.
		Code:
	
	
	Private Sub Worksheet_Activate()
    Dim pointeur%
    Dim val_list$
   
'Réinitialiser le formulaire Gestionnaire
    Gestionnaire.Liste_Feuilles.Clear
    Gestionnaire.Show False
   
    pointeur = 2
'Remplir la Liste_Feuilles avec les éléments de la liste enregistrée
   
    While Cells(pointeur, 15).Value <> ""
        val_list = Cells(pointeur, 15)
        Gestionnaire.Liste_Feuilles.AddItem val_list
        pointeur = pointeur + 1
    Wend
End Sub
	Gestionnaire : Nom de mon formulaire
Liste_Feuilles : ListBox qui contient la liste des feuilles enregistrées à la colonne 'O' de la feuille.
Gestionnaire s'affiche et Liste_Feuilles se met donc à jour à chaque fois que je rentre sur la feuille. Dans les autres feuilles, je code pour faire disparaitre Gestionnaire (Gestionnaire.Hide).
J'ajoute deux captures d'écran avant et après le déroulement du code :
AVANT:
APRES:
Pour information, j'ai déjà essayé de sélectionner une autre page et de revenir pour dérouler à nouveau le code de sélection de la page ou juste d'ajouter Gestionnaire.Show False à la toute fin du code. De même j'ai déjà essayé en supprimant mes commandes de suppression de mise à jour d'affichage/désactivation des messages d'alerte.
Mais rien à faire: pas moyen de faire réapparaitre Gestionnaire autrement qu'en partant manuellement de la page et d'y retourner. 🙁
Auriez-vous une idée de la raison de mon tourment?
Merci par avance!