doublon a moyenner puis suprimer

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 !

leducestuncon

XLDnaute Nouveau
[Resolu] doublon a moyenner puis suprimer

bonjour a tous ,
desole de ne pas prendre le temps de me presenter ainsi que pour les accents (clavier us)

j ai besoin d aide d'urgence, je suis debutant et je n ai pas pu trouver la manip a faire malgres de nombreuses recherches sur googl

je m explique; je dois creer une macro pour traiter un document mis sous format excel, actuellement , je bloque sur la gestion des doublons dans ce tableau
ex:
103 | 3.5412
104 | 4.0256
104 | 4.0260
104 | 4.0264
....
je dois donc moyenner les valeurs de la 2eme colonne pour les memes points de la 1ere (ici 104) , remplacer la 1ere valeur par la moyenne et enfin suprimer les autres lignes (cela dans une macro bien sur)
si possible aussi , creer une exception pour des points nommes 00001,00002 ... mais si ca fait trop , je m en passerai

desole, c est vraiment un truc de debutant et donc je bloque la dessus

merci pour toute aide que vous pourrez m apporter


duc
 
Dernière édition:
Re : doublon a moyenner puis suprimer

Bonjour,
J'ai bien l'impression qu'on vous a oublié !
Voici une macro qui fait le travail que vous souhaitez. Elle est très facile à comprendre.
Placez-la dans un module (Alt+F11 et Insertion/Module).
J'ai supposé que les données sont dans les colonnes A et B.

Sub DoublonMoyenne()
Dim i As Long, j As Long, k As Long
Application.ScreenUpdating = False
For i = 1 To Application.CountA(Range("A:A"))
k = 1
For j = i + 1 To Application.CountA(Range("A:A"))
If Range("A" & i) = Range("A" & j) And _
Range("A" & i) <> "00001" And Range("A" & i) <> "00002" Then' vos exceptions
k = k + 1
Range("B" & i) = Range("B" & i) + Range("B" & j)
Rows(j).Delete
j = j - 1
End If
Next
If Range("B" & i) <> "" Then Range("B" & i) = Range("B" & i) / k
Next
Application.ScreenUpdating = True
End Sub

A+
 
Re : doublon a moyenner puis suprimer

bonjour job75,
merci infiniement pour votre reponse ! ca marche au poil 🙂

super idee que d avoir fait ce site d entreaide, merci aux concepteurs

@bientot certainement pour qqs autres aides :s (dsl on me fait faire ce job alors que je n ai jamais rien programme)
 
Dernière édition:
Re : doublon a moyenner puis suprimer

Bonjour tout le monde,

Une autre version. La macro se termine à la 1ère cellule vide en colonne A. Le traitement des données est plus rapide.

Sub DoublonMoyenne()
Dim i As Long, j As Long, k As Long
Application.ScreenUpdating = False
For i = 1 To 65536
If Range("A" & i) = "" Then Exit For
k = 1
For j = i + 1 To 65536
If Range("A" & j) = "" Then Exit For
If Range("A" & i) = Range("A" & j) And _
Range("A" & i) <> "00001" And Range("A" & i) <> "00002" Then ' vos exceptions
k = k + 1
Range("B" & i) = Range("B" & i) + Range("B" & j)
Rows(j).Delete
j = j - 1
End If
Next
Range("B" & i) = Range("B" & i) / k
Next
Application.ScreenUpdating = True
End Sub

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

Retour