Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Besoin d'aide et je ne sais pas décrire ma demande

  • Initiateur de la discussion Initiateur de la discussion SeXMaN
  • 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 !

SeXMaN

XLDnaute Junior
Bonjour,

Je ne sais pas comment exprimer ce que je souhaite alors j'ai fais un excel explicatif.

Merci à tous ceux qui peuvent m'aider.
 

Pièces jointes

Bonjour à tous,

Par formule matricielle
Code:
=SIERREUR(SI(MOD(COLONNE();2)=0;INDEX($C$4:$C$13;PETITE.VALEUR(SI(($E$4:$E$13=$C25);LIGNE($E$4:$E$13)-3);NB(SI(MOD(COLONNE($D:E);2);0))));INDEX($D$4:$D$13;PETITE.VALEUR(SI(($E$4:$E$13=$C25);LIGNE($E$4:$E$13)-3);NB(SI(MOD(COLONNE($D:E);2);0)))));"")

JHA
 

Pièces jointes

C'est exactement cela mais je n'arrive pas à adapter ta formule, malgré que je fasse bien le ctrl+maj+entrée.
Est ce que tu peux me faire évoluer ta formule, j'ai simplifié mon tableau :
Je n'ai plus l'utilité de la "D" les prénoms, j'ai fait un concaténage.
Par contre est ce que l'on peut travailler sur plusieurs page excel avec des formule matricielle ?
 
Bonjour à tous

Sur 2016 possible par PowerQuery intégré

2 versions ci-joint : l'une ou nom et prénom sont concaténés l'autre selon ton modèle

Il suffit d'actualiser Tout (onglet données) si la source change
 

Pièces jointes

Bonsoir SeXMaN, JHA, chris,

Une solution VBA :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim source As Range, dest As Range, tablo, d As Object, ncol&, resu(), i&, x$, n&, lig&, col&
Set source = [C3].CurrentRegion.Resize(, 3) 'à adapter
Set dest = [H4] '1ère cellule de destination, à adapter
tablo = source 'matrice, plus rapide
Application.ScreenUpdating = False
Application.EnableEvents = False
dest.Resize(Rows.Count - dest.Row + 1, Columns.Count - dest.Column + 1).ClearContents 'RAZ
'---dimensions du tableau des résultats---
Set d = CreateObject("Scripting.Dictionary")
For i = 2 To UBound(tablo)
    d(tablo(i, 3)) = d(tablo(i, 3)) + 1 'comptage
Next
If d.Count = 0 Then GoTo 1
ncol = 2 + 2 * Application.Max(d.items)
ReDim resu(1 To d.Count, 1 To ncol)
'---remplissage du tableau des résultats---
d.RemoveAll
For i = 2 To UBound(tablo)
    x = tablo(i, 3)
    If Not d.exists(x) Then
        n = n + 1
        resu(n, 1) = x
        d(x) = n 'mémorise le numéro de ligne
    End If
    lig = d(x)
    resu(lig, ncol) = resu(lig, ncol) + 2 'mémorise le numéro de colonne
    col = resu(lig, ncol)
    resu(lig, col) = tablo(i, 1)
    resu(lig, col + 1) = tablo(i, 2)
Next
'---restitution---
If ncol + dest.Column > Columns.Count Then ncol = Columns.Count - dest.Column 'sécurité
dest.Resize(n, ncol - 1) = resu
1 Application.EnableEvents = True
End Sub
Fichier joint.

Pour tester j'ai copié le tableau source sur 20 000 lignes, la macro s'exécute chez moi en 0,38 seconde.

A+
 

Pièces jointes

Merci à tous pour vos réponses.
@job75 merci mais je ne sais pas comment adapter ton VBA à mon excel.
Et je me rends compte avec ta formule @JHA, j n'arrive pas à l'adapter parce que je n'ai pas été précis avec mon exemple.
@chris mais je ne sais pas gérer les matrice.

En faites je pensais pouvoir adapter vos formules grâce à mes compétences. Mais je me rends compte qu'elles sont insuffisante.

Donc je vous redonne un fichier, mais cette fois c l'original en enlevant les données.
En espérant que vous accepterez de répondre au boulet que je suis.

Dans la feuille "Corres", à partir de la colonne F, doit apparaître les concatenage qui sont dans la feuille "non".

Merci
 

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
10
Affichages
348
Réponses
5
Affichages
182
Réponses
7
Affichages
155
Réponses
3
Affichages
139
Réponses
11
Affichages
344
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…