Tester la présence de plusieurs valeurs dans une colonne
yannon
Messages postés
22
Date d'inscription
Statut
Membre
Dernière intervention
-
ThauTheme Messages postés 1442 Date d'inscription Statut Membre Dernière intervention -
ThauTheme Messages postés 1442 Date d'inscription Statut Membre Dernière intervention -
Bonjour, je m'explique :
J'ai une tableau qui contient plusieurs enregistrements. Dans ce tableau il y a une colonne contenant des références "AAK", "LAK" etc. Je dois vérifier que chaque référence contenue dans cette colonne est également présente au moins une fois dans la colonne d'une autre feuille (dans le même classeur).
Pour l'instant j'ai réussi à fair el tri nécessaire dans mon tableau et à sélectionner la colonne concernée, mais je n'arrive pas à continuer, c'est-à-dire que je bloque au moment où il faudrait récupérer toutes les références de la colonne.
Si quelqu'un a une solution je le remercie :)
J'ai une tableau qui contient plusieurs enregistrements. Dans ce tableau il y a une colonne contenant des références "AAK", "LAK" etc. Je dois vérifier que chaque référence contenue dans cette colonne est également présente au moins une fois dans la colonne d'une autre feuille (dans le même classeur).
Pour l'instant j'ai réussi à fair el tri nécessaire dans mon tableau et à sélectionner la colonne concernée, mais je n'arrive pas à continuer, c'est-à-dire que je bloque au moment où il faudrait récupérer toutes les références de la colonne.
Si quelqu'un a une solution je le remercie :)
A voir également:
- Tester la présence de plusieurs valeurs dans une colonne
- Déplacer une colonne excel - Guide
- Flash drive tester - Télécharger - Divers Utilitaires
- Trier une colonne excel - Guide
- Tester son pc - Guide
- Formule moyenne excel plusieurs colonnes - Guide
1 réponse
Bonjour Yannon, bonjour le forum,
Code ci-dessous à adapter à ton cas (faut dire que tu as été tellement précis...) :
Code ci-dessous à adapter à ton cas (faut dire que tu as été tellement précis...) :
Sub Macro1() Dim S As Worksheet 'déclare la variabe S (ongle Source) Dim DLS As Integer 'déclare la variabe DLS (Dernière Ligne édité de l'onglet Source) Dim TCS As Variant 'déclare la variabe TCS (Tableau de Cellules de l'onglet Source) Dim D As Worksheet 'déclare la variabe D (ongle Destination) Dim DLD As Integer 'déclare la variabe DLD (Dernière Ligne édité de l'onglet Destination) Dim PLD As Range 'déclare la variabe PLD (PLage de l'onglet Destination) Dim K As Integer 'déclare la variabe K (incrément) Dim I As Integer 'déclare la variabe I (Incrément) Dim R As Range 'déclare la variabe R (Recherche) Dim TL() As Variant 'déclare la variabe TL (Tableau de Lignes) Set S = Sheets("Feuil1") 'définit l'onglet S (à adapter) DLS = S.Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne éditée DLS de la colonne 1 (=A à adapter) de l'onglet S TCS = S.Range("A1:A" & DLS) 'définit le tableau de cellules TCS de l'onglet S (à adapter) Set D = Sheets("Feuil2") 'définit l'onglet D (à adapter) DLD = S.Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne éditée DLS de la colonne 1 (=A à adapter) de l'onglet D Set PLD = D.Range("A1:A" & DLS) 'définit la palge PLD (à adapter) K = 1 'initialise la variable K For I = 1 To UBound(TCS, 1) 'boucle sur toutes les lignes I du tableau de cellules TCS 'définit la recherche R (recherche la valeur entière ligne I, colonne 1 de TCS dans la plage PLD) Set R = PLD.Find(TCS(I, 1), , xlValues, xlWhole) If R Is Nothing Then 'condition : si aucune occurrence n'est trouvée ReDim Preserve TL(1 To K) 'redimensionne le tableau TL TL(K) = TCS(I, 1) 'ajoute la valeur de TCS(I,1) au tableau TL K = K + 1 'incrément K End If 'fin de la condition Next I 'prochaine ligne de la boucle 'si au moins un élément a été trouvé renvoie dans A1 (à adapter) de l'onglet S la liste des éléments manquants If K > 1 Then S.Range("E1").Resize(UBound(TL, 1), 1).Value = Application.Transpose(TL) End Sub