Tester la présence de plusieurs valeurs dans une colonne
Fermé
yannon
Messages postés
22
Date d'inscription
samedi 21 juillet 2012
Statut
Membre
Dernière intervention
13 juillet 2015
-
13 juil. 2015 à 12:23
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 - 13 juil. 2015 à 15:29
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 - 13 juil. 2015 à 15:29
A voir également:
- Tester la présence de plusieurs valeurs dans une colonne
- Déplacer une colonne excel - Guide
- Tester son pc - Guide
- Flash drive tester - Télécharger - Divers Utilitaires
- Colonne word - Guide
- Figer une colonne excel - Guide
1 réponse
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
13 juil. 2015 à 15:29
13 juil. 2015 à 15:29
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