Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2021 Traitement automatique de cellules vides dans un tableau

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Solution
Bonsoir,
1- Vous ouvrez l'éditeur VBA, vous allez dans Feuil1, vous copiez la macro puis dans votre fichier vous faites un Coller dans la feuille concernée.


2- Il vous suffit de changer les indices de tableaux. Dans :
[Tableau15] = [Tableau1].Value
Tableau15 est le tableau de destination.
Tableau1 est le tableau source.

Donc par ex si vous voulez copier le Tableau 1 dans le Tableau 2 et faire le tri alors cela ferait :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("Tableau1[[#Headers],[Colonne1]]")) Is Nothing Then
        [Tableau2] = [Tableau1].Value
        [Tableau2].Resize([Tableau2].ListObject.ListColumns.Count).Sort key1:=[Tableau2].Item(1, 1), order1:=xlAscending, Header:=xlNo
    End If
End Sub

NB: Une macro...
Tout d'abord Bonjour Matlea, bonjour Gégé,
Un essai en PJ avec simplement :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("Tableau1[[#Headers],[Colonne1]]")) Is Nothing Then
        [Tableau15] = [Tableau1].Value
        [Tableau15].Resize([Tableau15].ListObject.ListColumns.Count).Sort key1:=[Tableau15].Item(1, 1), order1:=xlAscending, Header:=xlNo
    End If
End Sub
 

Pièces jointes

Merci c'est exactement ce que je recherche. Mais comment faire pour transférer la procédure dans mon fichier de travail. Il n y a pas de macro visible dans le fichier que vous m'avez envoyé.
Faut il créer une macro avec le protocole qui est écrit ci-dessus ou bien faut il le coller ailleurs?
 

Toujours pas de bonjour.
Vous le faites exprès.
Regardez dans la feuille, c'est une macro événementielle.
 
Pardon, bonsoir et joyeux Noël. Je ne suis pas très familier avec tout ceci et ne sais pas comment traiter une macro événementielle; Où se situe-t-elle dans la feuille et comment la transférer dans mon fichier?
D'avance merci et encore toutes mes excuses pour mon impolitesse
 

Rebonsoir
Encore une question.
Sera t il possible de traiter de la même façon sur la même feuille d autres tableaux semblables au tableau 1 (tableaux 2, 3, 4 etc)?
 
Bonsoir,
1- Vous ouvrez l'éditeur VBA, vous allez dans Feuil1, vous copiez la macro puis dans votre fichier vous faites un Coller dans la feuille concernée.


2- Il vous suffit de changer les indices de tableaux. Dans :
[Tableau15] = [Tableau1].Value
Tableau15 est le tableau de destination.
Tableau1 est le tableau source.

Donc par ex si vous voulez copier le Tableau 1 dans le Tableau 2 et faire le tri alors cela ferait :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("Tableau1[[#Headers],[Colonne1]]")) Is Nothing Then
        [Tableau2] = [Tableau1].Value
        [Tableau2].Resize([Tableau2].ListObject.ListColumns.Count).Sort key1:=[Tableau2].Item(1, 1), order1:=xlAscending, Header:=xlNo
    End If
End Sub

NB: Une macro évènementielle doit obligatoirement se trouver dans la feuille et avec le même nom.
Si cette macro concerne toutes les feuilles alors elle doit se trouver dans ThisWorkBook.
 
Merci je regarde ça demain.
Bonne soirée

Bonjour,
C est parfait. Merci beaucoup et bonne journée.
 
bonjour à toutes & à tous, bonjour @sylvanu, @MATLEA
Ou puisque tu disposes d'Excel 2021, en supposant que tes données initiales soient en colonne B, sans macro avec la formule :
VB:
=LET(Lst;UNIQUE(B:B);TRIER(FILTRE(Lst;Lst<>"")))
Tu obtiens ta liste triée directement sans les cellules vides
voir feuil2 du fichier joint
À bientôt
 

Pièces jointes

Bonjour,
C est parfait. Merci beaucoup et bonne journée.

Bonjour et merci
Mais comment faut-il faire?
 
re
Mais comment faut-il faire?
Comme sur ce gif :

Une fois la formule saisie, le résultat se met à jour à chaque changement dans la colonne B
Si tu veux accéder à l'ensemble du résultat, je te conseille de nommer la cellule qui contient la formule (ici E3 en la nommant par exemple Résultat) tu peux faire référence à Résultat# qui reprend la plage dynamique couverte par les résultats de la formule.
À bientôt
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
11
Affichages
160
Réponses
4
Affichages
87
Réponses
9
Affichages
385
Réponses
6
Affichages
134
  • Question Question
Microsoft 365 TCD
Réponses
6
Affichages
284
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…