XL 2019 Formule Décaler sans les doublons

Caninge

XLDnaute Accro
Bonjour à tous,

Pas mécontent de moi ! j'ai trouvé les formules mais voilà dans la colonne remise il me manque
deux valeurs 42 et 23 euros. en fait ce sont des valeurs en doublons.
Je pense qu'il faut modifier la formule mais je ne sais pas faire.
Merci de me donner un coup de main
 

Pièces jointes

  • Formule Décaler sans les doublons.xlsx
    17.1 KB · Affichages: 8

R@chid

XLDnaute Barbatruc
Bonjour,
Je ne sais pas pourquoi DECALER(), mais je pense qu'il suffit d'utiliser cette formule pour éviter le cellules vides de la plage Remises.
En G22 :
VB:
=SIERREUR(--(INDEX(Remises;LIGNES($22:22))&"");"")
@ tirer vers le bas

Cordialement
 

R@chid

XLDnaute Barbatruc
Re,
Les autres formules (qui sont à gauche) vont te renvoyer des doublons, et ne vont pas toujours renvoyer le bon résultat.
Pour Actions, en B22 :
VB:
=SI(G22<>"";INDEX(Actions;PETITE.VALEUR(SI(Remises=G22;LIGNE(INDIRECT("1:"&LIGNES(Actions))));NB.SI(G$22:G22;G22)));"")
@ valider par Ctrl+Maj+Entrée
@ tirer vers le bas

Cordialement
 

R@chid

XLDnaute Barbatruc
Bonjour @ tous,
en G3 :
VB:
=SIERREUR(--(INDEX(Feuille_AnalytiqueFacilComptaDos_Remises;LIGNES($3:3))&"");"")
@ tirer vers le bas

en B3 :
Code:
=SI(G3="";"";INDEX(Feuille_AnalytiqueFacilComptaDos_Actions;PETITE.VALEUR(SI(Feuille_AnalytiqueFacilComptaDos_Remises=G3;LIGNE(INDIRECT("1:"&LIGNES(Feuille_AnalytiqueFacilComptaDos_Actions))));NB.SI(G$3:G3;G3))))
@ valider par Ctrl+Maj+Entrée
@ tirer vers le bas
@ toi d'adapter la formule pour les autres colonnes.

N'oublie pas de prendre en considération la réponse de l'ami @job75 que je salue au passage.

Les noms de champs dynamiques utilisés sont pas bons, vaut mieux donner des noms trop courts.


Cordialement
 

job75

XLDnaute Barbatruc
Bonjour Caninge, R@chid, le forum,

Il s'agit d'un simple copier-coller sur les bonnes lignes et sur les bonnes colonnes.

Voici donc une solution VBA avec cette macro dans le code de la 1ère feuille :
VB:
Private Sub Worksheet_Activate()
Dim n&
Application.ScreenUpdating = False
Range("A3:H" & Rows.Count).ClearContents 'RAZ
With Sheets("AnalytiqueFacilComptaDos")
    n = Application.Count(.Range("I7:I" & .Rows.Count))
    If n Then
        Intersect(Union(.Range("B7:F" & .Rows.Count), .Range("H7:I" & .Rows.Count)), _
            .Range("I7:I" & .Rows.Count).SpecialCells(xlCellTypeConstants, 1).EntireRow).Copy 'copier
            [A3].PasteSpecial xlPasteValues  'collage spécial Valeurs
            Application.CutCopyMode = 0
        [H3].Resize(n) = "=IF(F3="""","""",G3/F3)" 'formule sur  n lignes
    End If
End With
[A1].Select
End Sub
Elle se déclenche automatiquement quand on active la feuille.

PS : j'ai testé aussi avec un copier-coller complet et j'ai constaté que les formules en colonne "Charges" ne sont pas copiées. Mais il est préférable de faire quand même un collage spécial Valeurs.

A+
 

Pièces jointes

  • Copier-coller Remises(1).xlsm
    29.9 KB · Affichages: 2

Caninge

XLDnaute Accro
Bonjour R@chid et Job75,
la solution de Job75 me plait bien. Avec macro c'est bien aussi.
Pour la solution de Rachid je pense avoir mis les bonnes formules.
Par contre si j'utilise le module pour filtrer certaines colonnes dans la page AnalytiqueFacileCompta, les lignes se décalent dans l'autre feuille. A voir.
Je mets le fichier en pièce jointe.
Merci
 

Pièces jointes

  • Formule Décaler sans les doublons 2.xlsx
    23.9 KB · Affichages: 0

Discussions similaires

Réponses
1
Affichages
191

Statistiques des forums

Discussions
312 206
Messages
2 086 220
Membres
103 158
dernier inscrit
laufin