Rechercher des plages qui varient en taille

Tikale

XLDnaute Junior
Bonjour à tous,

J'ai un petit soucis concernant un fichier de suivi des rémunération des commerciaux dans ma boite, c'est sûrement très simple mais je ne vois pas du tout comment faire :(

J'ai mis en pièce jointe l'exemple d'un fichier de suivi d'un commercial (nommé SLBA). C'est à SLBA de remplir ce fichier qui est enregistré sur notre réseau, à chaque fois qu'il a un nouveau contact, ou qu'il y a des nouvelles sur ce contact (signé, étude terminée, étude payée, refus de signature (bité)).

Pour chaque contact, il y a deux commerciaux, un nommé CDP 2A (il y en a 9, dont SLBA), et un CDP 3A (il y en a 6). Ce ne sont pas forcément les mêmes couples sur chaque contact.

Afin de suivre les rémunération de chacun, j'ai dans un fichier global un lien vers chacun des tableaux, et un onglet qui me permet de voir les écarts de rémunération, etc.

J'aimerais aujourd'hui ajouter un nouvel onglet à ce tableau, qui m'indique sur 30 colonnes (deux par CDP 2A et 3A) le nom des contacts "4. Contacts" et la rémunération associée. Sachant que le nombre de contact est amené à varier (ils peuvent passer en bité, ou en cours).

J'ai pensé à une formule conditionnelle sur l'ensemble du tableau mais même la taille du tableau est amenée à varier. Je crois que la fonction décaler peut servir mais je ne vois pas comment.

Si quelqu'un a une idée de comment on pourrait faire, ça m'aiderait beaucoup.

Par avance, merci pour votre attention et bonne journée :)
 

Pièces jointes

  • Contacts.xlsx
    15.2 KB · Affichages: 43
  • Contacts.xlsx
    15.2 KB · Affichages: 47
  • Contacts.xlsx
    15.2 KB · Affichages: 46

CISCO

XLDnaute Barbatruc
Re : Rechercher des plages qui varient en taille

Bonjour

Je crois, si tu veux avoir des réponses, que tu devrais donner un peu plus d'explication. Au besoin, mets à la main, dans ton fichier exemple, ce que tu désires obtenir.

@ plus
 

Tikale

XLDnaute Junior
Re : Rechercher des plages qui varient en taille

Merci pour la réponse.

Voilà un fichier Excel qui précise un peu plus ce que je veux, avec un exemple de 4 onglets de CDP et l'onglet de suivi général que j'aimerais obtenir mais dont je n'ai pas la moindre idée de quelle formule utiliser.

Par avance, merci
 

Pièces jointes

  • Contacts.xlsx
    36.1 KB · Affichages: 54
  • Contacts.xlsx
    36.1 KB · Affichages: 50
  • Contacts.xlsx
    36.1 KB · Affichages: 55

CISCO

XLDnaute Barbatruc
Re : Rechercher des plages qui varient en taille

Bonsoir

Pour le moment, il faudra te contenter de cela ! Cela ne fonctionne que si les premiers onglets ne comportent que 60 lignes "utiles".
La formule donnant les noms des entreprises est trop compliquée... J'espère qu'on trouvera mieux.

A toi de vérifier.

On arrangera tout ça plus tard. J Boisgontier te proposera peut être une petite formule 3D de derrière les fagots...

@ plus
 

Pièces jointes

  • Contacts bis.xlsx
    58.1 KB · Affichages: 48
Dernière édition:

Tikale

XLDnaute Junior
Re : Rechercher des plages qui varient en taille

Merci beaucoup pour ce fichier !! C'est exactement ce qu'il nous faut. En revanche, la formule va être un peu compliquée, on a en fait 9 onglets et 8 de plus en octobre :)

Si tu vois un moyen de faire une formule plus simple (sans forcément faire le fichier, juste donner des pistes), je suis preneur :)

Bonne journée.
 

CISCO

XLDnaute Barbatruc
Re : Rechercher des plages qui varient en taille

Bonjour

Je comprend bien le problème.

J'ai trouvé une solution, qui, maleureusement, ne fonctionne que si il y a au moins une entreprise convenant par onglet ("En cours" et SA; "En cours" et OSL, "En cours" et...).

Je ne trouve pas de formule plus polyvalente, facilement utilisable avec un nombre d'onglets plus important, à cause des deux conditions à vérifier ("En cours" et SA en colonne B, "En cours" et OSL en colonne D et ainsi de suite). Peut être qu'en VBA ?

@ plus
 
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : Rechercher des plages qui varient en taille

Bonsoir

Ci-joint une solution avec une formule un peu plus polyvalente, mais avec :
* des tableaux intermédiaires (Y3:AE12 et AH1:AO16), contenant des formules pouvant être tirées vers la droite et vers le bas
* et des noms : une série SLBAencours, Pboencours... correspondant à la partie de la colonne H de chaque onglet sur les lignes contenant "en cours" en colonne A (ou plus exactement "3. en cours"), et nomsfeuilles, feuilleencours et feuillesuivante.


Ce fichier fonctionne même si il ni a pas d'entreprise convenant dans un onglet. Par contre, je pense qu'il y aura des erreurs si une entreprise se trouve sur plusieurs onglets à la fois. A toi de vérifier l'ensemble et d'essayer de comprendre pour pouvoir ajouter facilement des onglets. Dans ce dernier cas, tu n'as pas à changer les formules (sauf les 60 qu'il faut remplacer par le vrai nombre de lignes des premiers onglets (ou une valeur supérieure), et sauf celles en Z5:AE12 dans lesquelles il faut remplacer les 12 par le N° de la dernière ligne). Il faut étendre tous les tableaux, et créer des plages Xencours pour chaque onglet X nouveau. Si tu n'y arrive pas, postes un fichier simplifié ayant la même structure que ton fichier réel.

Si cela fonctionne et que tu dois faire avec des formules, je ferai quelques modifs pour rendre ce fichier plus facilement transformable.

@ plus
 

Pièces jointes

  • Contacts six.xlsx
    84.8 KB · Affichages: 35
Dernière édition:

david84

XLDnaute Barbatruc
Re : Rechercher des plages qui varient en taille

Bonsoir, salut Cisco,
Je prends le train en route donc, sous réserve d'avoir compris l'attente du demandeur, ci-joint une proposition VBA à tester pour le tableau CDP 3A (appuyer sur le bouton Traitement) :
Code:
Sub CDP_3A()
Dim T(), Nom As Range, Plage As Range, Etat As Range, i As Byte, j As Byte, k As Long, l As Long
Dim Ligne As Long, Nb As Double, DerLig As Long, PlageGén As Range, Col As Integer
Application.ScreenUpdating = False

With Sheets("suivi Général")
    .Range("B4:M10000").ClearContents
    Set Nom = .Range("B2:L2")
End With

Col = 2
For i = 1 To Nom.Cells.Count Step 2
    For j = 1 To Sheets.Count - 1
        If Sheets(j).Name <> "suivi Général" Then
            Set Plage = Sheets(j).[A1].CurrentRegion
            Set Etat = Sheets(j).Range("A2:A" & Plage.Rows.Count)
            l = 1
            Ligne = Application.Match("3. En cours", Etat, 0) + 1
            If Not IsError(Ligne) Then
                Nb = Application.WorksheetFunction.CountIf(Etat, "3. En cours")
                ReDim Preserve T(1 To Nb, 1)
                    For k = Ligne To Ligne + Nb - 1
                        If Plage(k, 8) = Nom(i) Then
                            T(l, 0) = Plage(k, 2)
                            T(l, 1) = Plage(k, 6)
                            l = l + 1
                        End If
                    Next k
            End If
            With Sheets("suivi Général")
                DerLig = .Cells(.Rows.Count, Col).End(xlUp).Row + 1
                .Cells(DerLig, Col).Resize(UBound(T), UBound(T, 2) + 1) = T
                Erase T
            End With
        End If
    Next j
    Col = Col + 2
Next i
Application.ScreenUpdating = True
End Sub
A+
 

Pièces jointes

  • SuiviGénéral.xls
    213.5 KB · Affichages: 38

Tikale

XLDnaute Junior
Re : Rechercher des plages qui varient en taille

Bonjour,

Merci pour vos réponses. Je suis désolé pour le retard, j'ai été pas mal sous l'eau ces derniers temps.

La macro de david84 est vraiment bien, c'est exactement ce qu'il nous faut, merci beaucoup. En revanche, j'aurais quelques petites questions. Nous sommes de très gros novices en Excel, et ce fichier serait amené à changer chaque année, du coup on se demandait comment le "configurer".

Les points qui changent seraient :

Le nombre d'onglets et le noms des onglets (entre 14 et 15 chaque année)
Le nombre de ligne total : 5 en début d'année, jusqu'à 400 en fin d'année (grosso modo)
Le nom des catégories peut aussi changer (Contact, En cours, Signé, etc.)


Si vous avez une petite idée de comment modifier cela simplement, ce serait vraiment parfait.

Par avance, merci

Bonne journée
 

david84

XLDnaute Barbatruc
Re : Rechercher des plages qui varient en taille

Re
La macro de david84 est vraiment bien, c'est exactement ce qu'il nous faut, merci beaucoup. En revanche, j'aurais quelques petites questions. Nous sommes de très gros novices en Excel, et ce fichier serait amené à changer chaque année, du coup on se demandait comment le "configurer".

Les points qui changent seraient :

Le nombre d'onglets et le noms des onglets (entre 14 et 15 chaque année)
Le nombre de ligne total : 5 en début d'année, jusqu'à 400 en fin d'année (grosso modo)
Le nom des catégories peut aussi changer (Contact, En cours, Signé, etc.)
As-tu testé des configurations différentes avant de poster ta question ?
Les nombres d'onglets et de lignes ne poseront pas de problème il me semble.
Seule la catégorie variera.

La solution la plus simple à te conseiller est la suivante : je vois que tu utilises une liste déroulante (au passage, je ne trouve pas la source de cette liste...) dans chaque feuille pour sélectionner une catégorie
- placer la liste déroulante comportant les catégories dans ta feuille Suivi général
- dans le code, remplacer "3. En cours" par la valeur de la cellule comportant la sélection de la liste déroulante.

Au lieu d'être lancée manuellement par un bouton de commande, le code peut même être lancé automatiquement à chaque modification de la catégorie sélectionnée dans la liste (utiliser l'événement de feuille Private Sub Worksheet_Change).
A+
 

Discussions similaires

Réponses
6
Affichages
336
Réponses
46
Affichages
884

Statistiques des forums

Discussions
312 329
Messages
2 087 331
Membres
103 519
dernier inscrit
Thomas_grc11