copier valeurs sous condition

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 !

fred94000

XLDnaute Junior
Bonsoir le forum et tout le monde et VB iste,

j'ai dans la feuille1 une colonne D😀 contenant des valeurs numériques.
j'ai fais une mise en forme conditionnelle si valeurs double alors interior.colorindex= 3 ""rouge".

Ma question: si les valeurs numériques avec un fond rouge >= 3 fois copier les valeurs numérique dans la feuille2 colonne D😀 sans doublons
feuille1
-----d
1 -- 253
2 -- 350
3 -- 253
4 -- 100
6 -- 253
7 -- 65253
8 -- 253
9 -- 5892

feuille2
-----d
1-- 253
2

espère avoir été clair
dans l'attente merci
 
Re : copier valeurs sous condition

Bonsoir fred94000,

En D1 de Feuil2 cette formule matricielle :

Code:
=INDEX(Feuil1!D:D;PETITE.VALEUR(SI((NB.SI(Feuil1!D$1:D$100;Feuil1!D$1:D$100)>2);SI(LIGNE(Feuil1!D$1:D$100)=EQUIV(Feuil1!D$1:D$100;Feuil1!D$1:D$100;0);LIGNE(Feuil1!D$1:D$100)));LIGNE()))
à valider par Ctrl+Maj+Entrée et tirer vers le bas.

Nota 1 : 100 est à adapter à la hauteur du tableau en Feuil1.

Nota 2 : c'est brut de fonderie, je ne cherche pas à éviter les valeurs d'erreur quand on tire vers le bas.

A+
 
Re : copier valeurs sous condition

Bonsour®
Bonsoir le forum et tout le monde et VB iste,

j'ai dans la feuille1 une colonne D😀 contenant des valeurs numériques.
j'ai fais une mise en forme conditionnelle si valeurs double alors interior.colorindex= 3 ""rouge".

Ma question: si les valeurs numériques avec un fond rouge >= 3 fois copier les valeurs numérique dans la feuille2 colonne D😀 sans doublons
espère avoir été clair
dans l'attente merci

dans feuille 1 inserer colonne en E
formule =NB.SI(D1😀xxxxx;D1)
recopier vers le bas autant que necessaire
puis Appliquer un filtre sur la colonne E : Superieur ou egal : 3
copier les données filtrées
coller en feuille 2
menu données supprimmer les doublons

retour feuille 1
supprimer le filtre
supprimer colonne E

🙄 ceci a pris 10 fois plus de temps à l'écrire qu'a l'éxécuter ...
 
Re : copier valeurs sous condition

Re,

Il suffit d'adapter en Feuil2!B3 la formule matricielle du post #2 :

Code:
=INDEX(Feuil1!E:E;PETITE.VALEUR(SI((NB.SI(Feuil1!E$1:E$100;Feuil1!E$1:E$100)>2);SI(LIGNE(Feuil1!E$1:E$100)=EQUIV(Feuil1!E$1:E$100;Feuil1!E$1:E$100;0);LIGNE(Feuil1!E$1:E$100)));LIGNE()-2))
Fichier joint.

A+
 

Pièces jointes

Re : copier valeurs sous condition

Bonjour le fil, le forum,

Une solution un peu plus élaborée avec 2 noms définis Plage (tableau dynamique) et matrice :

Code:
=SI(LIGNES(B$3:B3)>NB(matrice);"";INDEX(Plage;PETITE.VALEUR(matrice;LIGNES(B$3:B3))))
La validation matricielle n'est plus nécessaire.

La formule évite les valeurs d'erreur quand on la tire vers le bas.

Fichier (2).

A+
 

Pièces jointes

Re : copier valeurs sous condition

Re,

Une solution VBA avec cette macro dans le code de Feuil2 :

Code:
Private Sub Worksheet_Activate()
'Feuil1 est le CodeName de la feuille source
Dim plage As Range, tablo, d As Object, i&, t, n&
Set plage = Intersect(Feuil1.[D:E], Feuil1.UsedRange)
tablo = plage 'matrice, plus rapide
Set plage = plage.Columns(2)
Set d = CreateObject("Scripting.Dictionary")
For i = 1 To UBound(tablo)
  t = tablo(i, 2)
  If t <> "" And Not d.Exists(t) Then
    d(t) = t
    If Application.CountIf(plage, t) > 2 Then
      n = n + 1
      tablo(n, 1) = tablo(i, 1)
      tablo(n, 2) = t
    End If
  End If
Next
If n Then [A3:B3].Resize(n) = tablo
[A3:B3].Offset(n).Resize(Rows.Count - n - 2).ClearContents
End Sub
Elle se lance quand Feuil2 est activée.

Fichier joint.

Nota : en Feuil1 votre MFC est pour NB.SI > 1, mais vous avez demandé NB.SI> 2.

Edit : avec d(t) = t avant le 2ème test If ce sera plus rapide si beaucoup de doublons "doubles".

A+
 

Pièces jointes

Dernière édition:
- 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

C
Réponses
1
Affichages
2 K
claivier_58
C
C
Réponses
3
Affichages
2 K
claivier_58
C
T
Réponses
4
Affichages
2 K
tprlechef
T
E
Réponses
16
Affichages
3 K
EXC107545b
E
M
Réponses
5
Affichages
2 K
mauricette007
M
N
  • Question Question
Réponses
5
Affichages
3 K
F
Réponses
10
Affichages
2 K
Flo300
F
D
Réponses
2
Affichages
1 K
Retour