XL 2019 Formule Décaler sans les doublons

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,

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

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
 
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
 
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
 
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

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

- 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
8
Affichages
835
Réponses
3
Affichages
669
Retour