Fonction SI cumulées avec doublons
Fermé
Arnaudcoco
Messages postés
2
Date d'inscription
jeudi 5 mars 2015
Statut
Membre
Dernière intervention
6 mars 2015
-
5 mars 2015 à 23:48
via55 Messages postés 14506 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 27 décembre 2024 - 6 mars 2015 à 17:02
via55 Messages postés 14506 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 27 décembre 2024 - 6 mars 2015 à 17:02
A voir également:
- Fonction SI cumulées avec doublons
- Fonction si et - Guide
- Supprimer les doublons excel - Guide
- Doublons photos - Guide
- Fonction moyenne excel - Guide
- Supprimer les doublons photos gratuit - Télécharger - Nettoyage
1 réponse
via55
Messages postés
14506
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
27 décembre 2024
2 738
6 mars 2015 à 00:43
6 mars 2015 à 00:43
Bonjour
Peut être avec une petite macro
A mettre dans un module de l'editeur VBA (ALT+ F11 pour ouvrir l'éditeur puis Insertion Module copier et coller la macro)
N°s des lignes à adapter à ton fichier
Cdlmnt
Via
Peut être avec une petite macro
A mettre dans un module de l'editeur VBA (ALT+ F11 pour ouvrir l'éditeur puis Insertion Module copier et coller la macro)
N°s des lignes à adapter à ton fichier
Sub doublons() 'Boucle sur les lignes 2 à 9 (avant-dernière ligne remplie) de la feuille A ADAPTER For n = 2 To 9 'Boucle sur les lignes qui suivent la ligne courante For t = n + 1 To 10 ' compare les dates pour connaitre la plus ancienne If Range("B" & t) > Range("B" & n) Then date1 = n: date2 = t Else date1 = t: date2 = n ' si même nom, même germe et difference de date de moins d'un mois DOUBLON If Range("A" & t) = Range("A" & n) And Range("D" & t) = Range("D" & n) And DateDiff("m", Range("B" & date1), Range("B" & date2)) < 1 Then Range("E" & t) = "DOUBLON" End If Next Next End Sub
Cdlmnt
Via
6 mars 2015 à 11:10
Vu que j'ai 6113 lignes et 5 colonnes, j'ai saisi:
Sub doublons()
For n = 2 To 6112
For t = n + 1 To 10
If Range("B" & t) > Range("B" & n) Then date1 = n: date2 = t Else date1 = t: date2 = n
If Range("A" & t) = Range("A" & n) And Range("D" & t) = Range("D" & n) And DateDiff("m", Range("B" & date1), Range("B" & date2)) < 1 Then
Range("E" & t) = "DOUBLON"
End If
Next
Next
End Sub
Mais après pour appliquer cela sur ma feuille je suis bloqué je ne sais pas quoi faire?
Merci
6 mars 2015 à 12:25
En premier il faut aussi adapter la seconde boucle For qui ne va jusqu'à 10 alors que tu as 6113 lignes (remplacer donc 10 par 6113)
Ensuite la première boucle part de la ligne 2 car je supposais une ligne de titre,Si tu n'en pas dans ton fichier il faut remplacer 2 par 1 dans la première boucle For ou si les données commencent plus bas, ligne 3 par exemple remplacer le 2 par ce n° de ligne
Enfin pour lancer la macro quand tu es sur la feuille tu vas dans l'onglet Developpeur dans le ruban puis Macros, sélectionner la macro doublons (ça doit être la seule dans la liste) et Exécuter (Vu le nombre de ligne la macro va peut être un peu de temps à s'exécuter)
Si l'onglet Developpeur n'existe pas dans ton ruban (il est en dernier en principe)
il faut :
si tu as Excel 2007 cliquer sur le bouton Office en haut à gauche, puis sur Options Excel, et dans Standard, activer la case à cocher Afficher l'onglet Développeur dans le ruban.
Si tu as Excel 2010 ou 2013 cliquer sur l'onglet Fichier.puis Options. puis Personnaliser le ruban. et dans Sous Personnaliser le ruban et Onglets principaux, activer la case à cocher Développeur
Cdlmnt
6 mars 2015 à 16:08
Par contre oui j'avais bien une ligne de titre et ma colonne E est remplie donc j'ai remplacé Range("E" & t) = "DOUBLON" par D. Mais niveau macro je pars de très loin! Une idée de tuto pour commencer à se familiariser doucement?
Merci!
6 mars 2015 à 17:02
Si tu cherches sur internet avec des mots-clès comme Bases VBA ou Tutoriel débuter VBA tu vas en trouver plusieurs et également ici sur CCM
https://www.commentcamarche.net/contents/1374-macros-comment-les-creer
Bon apprentissage !