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

Autres Extraire des valeurs absentes d'une colonne.

  • Initiateur de la discussion Initiateur de la discussion Caninge
  • Date de début Date de début

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 !

Caninge

XLDnaute Accro
Bonjour à tous les pros d'Excel.

J'ai cherché et point trouvé comme cela m'arrive souvent !...

Pouvez-vous me dépanner !

C'est assez simple je pense mais je n'arrive pas à trouver la formule appropriée : : la question est écrire dans mon tableau servant d'exemple.

Je vous remercie

CANINGE
 

Pièces jointes

Bonsoir @Caninge,

Formule matricielle à placer en F3, à valider par la combinaison des trois touches Ctrl+Maj+Entrée puis à tirer vers le bas.
VB:
=SIERREUR(INDEX(D:D;PETITE.VALEUR(SI(NB.SI($E$3:$E$7;$D$3:$D$14)=0;LIGNE($D$3:$D$14));LIGNES($1:1)));"")

edit:
bonsoir @Robert
 
Dernière édition:
Bonjour Caninge, Mapomme, bonjour le forum,

Une proposition VBA avec le code ci-dessous :

VB:
Sub Macro3()
Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs)
Dim TEST As Boolean 'déclare la variable TEST
Dim I As Integer 'déclare la variable I (Incrément)
Dim J As Integer 'déclare la variable J (incrément)
Dim K As Integer 'déclare la variable K (incrément)
Dim TL() As Variant 'déclare la variable TL (Tableau des Lignes)

Columns(6).ClearContents 'efface le contenu de la colonne 6 (= colonne F)
TV = Range("D3").CurrentRegion 'définit le tableau de valeur TV
K = 1 'initialise la variable K
For I = 1 To UBound(TV, 1) 'boucle 1 : sur toutes les lignes I du tableau des valeurs TV
    TEST = False 'réinitialise la variable TEST
    For J = 1 To UBound(TV, 1) 'boucle 2 : sur toutes les lignes J du tableau des valeurs TV
        'si les deux valeurs sont identiques, définti la variable TEST, sort de la boucle 2
        If TV(I, 1) = TV(J, 2) Then TEST = True: Exit For
    Next J 'prochaine ligne J de la boucle 2
    If TEST = False Then 'si TEST est [faux]
        ReDim Preserve TL(1 To K) 'redimensionne le tableau des lignes (K lignes)
        TL(K) = TV(I, 1) 'récupère dans la ligne K de TL le prénom de la ligne I de TV
        K = K + 1 'incrémente K (ajoute une ligne au tableau des lignes
    End If 'fin de la condition
Next I 'prochaine ligne I de la boucle 1
'si K est supérieure à 1 renvoie dans F3 le tableau TL transposé
If K > 1 Then Range("F3").Resize(UBound(TL), 1).Value = Application.Transpose(TL)
End Sub
 
Bonjour Mapomme et Robert,

Merci pour votre aide.
Ce n'est pas trop y comprendre. j'ai mis la formule de MaPomme dans mon fichier (pas celui proposé en fichier joint)

J'ai rajouté une feuille dans le fichier. le fait d'avoir mit cette page en plus fait bugger et impossible d'arrêter EXCEL.

recours à chaque à CTRL ALT SUPP

CANINGE
 
Bonjour @ tous,
Les formules matricielles sont très gourmandes en ressources et font buguer le fichier si les plages font des milliers de lignes, donc ton problème ne vient pas de l'ajout d'une autre feuille.
As-tu essayé la Macro proposée par notre ami Robert ?!

Une autre formule, matricielle à essayer.
Code:
=SIERREUR(DECALER(D$2;EQUIV(0;SI(NB.SI(E$3:E$7;D$3:D$14)=0;NB.SI(F$2:F2;D$3:D$14));0););"")
@ valider toujours par Ctrl+Shift+Enter
@ tirer vers le bas


Cordialement
 
Bonjour à tous

J'ai 370 lignes dans cette nouvelle feuille ou j'ai mis la formule matricielle. Voilà peut-être la raison du bug.
Je n'ai pas essayé la macro.
je vais essayé. A bientôt

Merci pour votre aide.

CANINGE
 
Bonsoir à tous,

Je n'ai pas réussi à mettre la macro. C'est un peu compliqué pour moi.

Sur mon tableau il y a la feuille "BENEVOLES LIBRES " avec les 5 prénoms des personnes libres c'est à dire ceux qui ne figurent
pas dans la feuille "ETAT". C'est ce résultat que je voudrais.
Une autre formule ne fonctionne pas aussi dans la feuille " RECHERCHE": =SI(B7="";"";RECHERCHEV($B7;Plage_Etat;2)). je ne sais pas pourquoi !
merci de se pencher sur mes problèmes.
Je joins mon fichier.
CANINGE
 

Pièces jointes

Bonjour MaPomme, et tous les autres pro d'EXCEL

merci pour ton intervention.

La feuille BENEVOLES LIBRE fonctionne. Ok
J'ai remplacé Faux par 0. Apparemment ça marche.
A bientôt et merci encore

CANINGE
 
- 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
5
Affichages
644
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…