Exel: mettre à 0 des doublons en fonction d'une autre colonne Excel 2003

AlBo26

Nouveau membre
Bonjour,
Yet Another Duplicate Problem... ;
Oui encore un problème de doublon, mais un peu différent.
Voici ma feuille excel:


La colonne à gauche J représente des groupes.
La colonne P, représente une affectation à des cours collectifs.

Je veux que les affectations pour un même groupe ne comptent que pour 1. C'est à dire que la première ligne I.1, doit effectivement être à 1 mais toutes les suivantes (pour I.1) doivent être à 0.
Je ne veux surtout pas supprimer la ligne en question mais simplement mettre les valeurs à 0.

Je ne sais pas quelles sont les façons de faire cela, j'ai testé VBA e partant de la macro bien connue...:

Ma macro est celle-ci:

Code:
Sub supprimeDoublons()

wSheet = Worksheets("Elèves").Select
With Sheets("Elèves")
    .Range("J5").Select
    ActiveCell.CurrentRegion.Sort Key1:=Range("J5"), Order1:=xlAscending, Header:=xlYes  'Erreur 1004
    donnee1 = ActiveCell
    ActiveCell.Offset(1, 0).Select
    While ActiveCell <> ""
        If ActiveCell = donnee1 Then
           ActiveCell.Offets(0, 6).Value = 0
           ActiveCell.Offset(1, 0).Select
           donnee1 = ActiveCell
        Else
           donnee1 = ActiveCell
           ActiveCell.Offset(1, 0).Select
        End If
    Wend
    cellGroup = Range("A5").Select
    ActiveCell.CurrentRegion.Sort Key1:=Range(MaCellule), Order1:=xlAscending, Header:=xlYes
End With
End Sub

Je ne sais pas trop si cela va aboutir à ce que je souhaite, pour le moment j'ai une erreur 1004 à la ligne:
ActiveCell.CurrentRegion.Sort Key1:=.Range("J5"), Order1:=xlAscending, Header:=xlYes 'Erreur 1004

Une idée?

Alain
 

zeb

Modérateur
Salut,

Dis, la ligne que tu décris et celle dans le listing diffèrent. Le point devant le Range("J5").
Est-ce normal ?

Pourquoi utilises-tu un With, alors que tu travailles avec la cellule courante (ce qui est TRES mal) ?

--------------------

A chaque fois que tu écris ceci :
Code:
Objet.Select
Selection.Action
Tu peux écrire :
Code:
Objet.Action

--------------------

Débogue ton code :

Avant d'exécuter ceci : ActiveCell.CurrentRegion.Sort
Vérifie : ActiveCell et ActiveCell.CurrentRegion.
Par exemple, ajoute ceci avant d'appeler le Sort.
Code:
Msgbox ActiveCell.Address
Msgbox ActiveCell.CurrentRegion.Address
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 131
Messages
6 717 979
Membres
1 586 384
Dernier membre
ChelseaKahn
Partager cette page
Haut