Modification de valeur de champ en double

  • Initiateur de la discussion Initiateur de la discussion sam01
  • Date de début Date de début

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 !

sam01

XLDnaute Nouveau
Bonjour,

j'ai trois colonnes sur excel : A B et C.

dans la colonne A, j'ai une liste de numéro (non identique) : et dans la colonne B et C,
j'ai des numéros qui eux peuvent être idnetiques sur une même colonnne.
j'aiemerais, sans tri, analyser chaque ligne et :

si le couple de chiffre B et C en en double, mettre en A la valeur de la première cellule A qui correspond à ce
même couple.

Par exemple :

Code:
A   B   C
 
5   8   2
 
7   2   5
 
9   8   2
 
2   1   9
 
5   2   5

dans ce cas, là la valeur de A dans la 3ème ligne doit être de 5, puisque le couple B et C est le même.

Et la valeur de A dans la 6 ème ligne (qui est égale à 5) prendrait la valeur 7, car le couple B, C qui vaut 2 et 5
à déjà été rencontré.

Merci d'avance pour votre aide.
 
Re : Modification de valeur de champ en double

Bonsoir sam01 et bienvenue sur XLD,

Un essai par VBA. Je ne vois pas de solution par formule si on veut inscrire le résultat dans la colonne A. Le tableau initial est en A1:C40. Cliquez sur le bouton "On y va...".

Le code est dans module1:
VB:
Sub premvaleur()
Dim derlig&, tablo, dico, i&, clef
  With Feuil1
    derlig = .Range("a" & .Rows.Count).End(xlUp).Row
    tablo = .Range("a1:c" & derlig)
    Set dico = CreateObject("scripting.dictionary")
    
    For i = 1 To derlig
      clef = tablo(i, 2) & "/" & tablo(i, 3)
      If Not dico.exists(clef) Then
        dico.Add clef, tablo(i, 1)
      Else
        tablo(i, 1) = dico(clef)
      End If
    Next i
    
    .Range("a1").Resize(derlig, 3) = tablo
  End With
End Sub
 

Pièces jointes

Dernière édition:
Re : Modification de valeur de champ en double

Bonsoir sam01, mapomme,

Une solution par formule matricielle dans le fichier joint.

Edit : si l'on veut modifier la colonne A faire un Copier/Collage spécial-Valeur de la colonne E sur la colonne A.

Bonne fin de soirée.
 

Pièces jointes

Dernière édition:
Re : Modification de valeur de champ en double

Bonjour sam01, job75 🙂
désolé pour le retard mais la macro de mapomme ne focntionne pas.

Et je ne parviens à faire fonctionner la fonction de job75.

Voici mon fichier :

Merci d'avance pour votre aide.

Formule de job75:

  • sélectionner la plage A1:C986 et appelez cette plage T (menu Formules / Définir un nom)
  • valider la formule matricielle en D2 par Ctrl+Maj+Entrée (et non pas par la seule touche Entrée)
  • tirer/copier la formule en D2 vers le bas

Macro de mapomme:

  • elle donne les mêmes résultats (sauf erreur de ma part) que la formule de job75
 

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
6
Affichages
229
Réponses
5
Affichages
377
Retour