XL 2013 Problème avec suppression de doublons

débutantplus

XLDnaute Junior
Bonjour,
Lorsque je supprime les doublons d'un fichier avec "supprimer les doublons" de Données les formules contenues dans le tableau ne suivent pas après la suppression.
C'est la date du jour qui ne suit pas : =SOMME.SI.ENS(commandes!$I$8:$I$23;commandes!$G$8:$G$23;'livraison (1)'!$B$1;commandes!$H$8:$H$23;'livraison (1)'!$B$2;commandes!$B$8:$B$23;'livraison (1)'!A18;commandes!$O$8:$O$23;'livraison (1)'!$A$1)
1646642544913.png

1646642766442.png

On peut voir la case violette qui n'a pas suivi sa ligne après suppression des doublons.
Avez vous une solution à ce problème ?
Bien cordialement
 

Pièces jointes

  • 1646642065170.png
    1646642065170.png
    959.3 KB · Affichages: 26
  • Classeur12.xlsx
    126.9 KB · Affichages: 7
Solution
J'ai pas compris votre manipulation, rechercher les valeurs contenu dans le tableau en jaune et vous le remplacer par quelles autres valeurs
si vous avez le document avec les changements je suis preneur ce sera peut être plus facile pour comprendre
Cordialement
en fait on ne remplace rien, on supprime la référence à la feuille active dans les formules,
en l'occurrence on remplace 'livraison (1)'! par rien en faisant "remplacer tout"

débutantplus

XLDnaute Junior
Bonjour merci pour votre aide,
Le contenu où supprimer les doublons et colorié en jaune, et dès la suppression des doublons les valeurs se faussent car la formule n'a pas suivi au niveau des dates.
 

Pièces jointes

  • Classeur12 (1).xlsx
    128.8 KB · Affichages: 6

fanch55

XLDnaute Barbatruc
Pour avoir un résultat juste, voici ce que j'ai fait avant suppression
1646649143654.png


Pourquoi est-ce bon ? je n'ai pas de réponse précise.
Il semblerait que le processus ne "recalcule" pas les ranges avec une référence de feuille .... :(
On pourrait le faire par Macro si vous le désirez ...
 

débutantplus

XLDnaute Junior
Pour avoir un résultat juste, voici ce que j'ai fait avant suppression
Regarde la pièce jointe 1132937

Pourquoi est-ce bon ? je n'ai pas de réponse précise.
Il semblerait que le processus ne "recalcule" pas les ranges avec une référence de feuille .... :(
On pourrait le faire par Macro si vous le désirez ...
J'ai pas compris votre manipulation, rechercher les valeurs contenu dans le tableau en jaune et vous le remplacer par quelles autres valeurs
si vous avez le document avec les changements je suis preneur ce sera peut être plus facile pour comprendre
Cordialement
 

fanch55

XLDnaute Barbatruc
J'ai pas compris votre manipulation, rechercher les valeurs contenu dans le tableau en jaune et vous le remplacer par quelles autres valeurs
si vous avez le document avec les changements je suis preneur ce sera peut être plus facile pour comprendre
Cordialement
en fait on ne remplace rien, on supprime la référence à la feuille active dans les formules,
en l'occurrence on remplace 'livraison (1)'! par rien en faisant "remplacer tout"
 

fanch55

XLDnaute Barbatruc
Macro à exécuter après s'être mis sur la feuille concernée :
VB:
Sub DelDup()
    Dim Nc() As Variant, Lr As Long, Lc As Long, Plage As Range, I As Integer
   ' On récupère la dernière ligne renseignée
    Lr = ActiveSheet.Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row
   ' On récupère la dernière colonne renseignée
    Lc = ActiveSheet.Cells(1, ActiveSheet.Columns.Count).End(xlToLeft).Column
   ' Plage de cellules concernée
    Set Plage = Range(Cells(1, 1), Cells(Lr, Lc))
   ' On supprime toute référence au nom de feuille active dans les formules
    Plage.Replace What:="'" & ActiveSheet.Name & "'!", Replacement:="", _
          LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
   ' On supprime les Doublons
    ReDim Nc(Plage.Columns.Count - 1): For I = 0 To Plage.Columns.Count - 1: Nc(I) = I + 1: Next
    Plage.RemoveDuplicates Columns:=(Nc), Header:=xlYes
End Sub
 
Dernière édition:

Discussions similaires

Réponses
0
Affichages
148

Statistiques des forums

Discussions
312 198
Messages
2 086 134
Membres
103 129
dernier inscrit
Atruc81500