Incrémentation automatique d'une formule dans une colonne

Résolu
The_boss_68 Messages postés 959 Date d'inscription   Statut Membre Dernière intervention   -  
The_boss_68 Messages postés 959 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Qui peu m'aider sur ce coup là?

Dans l'onglet saisie serait-il possible d'incrémenter automatiquement la formule qui se situe en "D3" et ceci fur et à mesure que les cellules a3 + b3 + c3 soient renseignés.
En clair actuellement quand je renseigne la colonne A3, puis B3, puis C3 et que je valide je renseigne D3 automatiquement par le biais de la formule qui s'y trouve (formule dont j'ai besoin). Vous allez me dire il suffit de tirer la formule en D pour que ce soit renseigné, oui OK! mais le problème est que si je tire la formule, et que après j'ouvre le menu déroulant qui se trouve dans l'onglet janvier 2015 colonnes C13:C48 beaucoup de trous vides seront apparents, c'est ce que je voudrais éviter, je voudrais voir uniquement les noms/ prénoms/matricule qui ont été notés.

voir avec pièce jointe

http://www.cjoint.com/c/ELljttdIJos

Merci pour votre aide

Salutation

5 réponses

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    Vu que vous avez du code VBA sur la feuille de saisie, pas besoin de formule de concatenation, faites le en VBA avant le tri par numero de telephone
    0
  2. The_boss_68 Messages postés 959 Date d'inscription   Statut Membre Dernière intervention   182
     
    Bonjour

    Ok, mais comme mes compétences me font fort défaut en VBA ainsi qu'au niveau formules je serais bien content si vous pouviez m'aider à trouver la solution

    Merci

    Cordialement
    0
  3. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    Je vous fais cela.

    Par contre comprends pas trop votre tri num Telephone apres tri colonnes A a C

    A+
    0
  4. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    fichier modifie, peut etre encore ameliore, notamment par une saisie avec une Userform et une feuille de donnees protegee (gestion plus simple des saisies), mais a voir.

    https://www.cjoint.com/c/ELlnxZBEVvf

    Testez et dites ce qu'il faudrait modifier
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. The_boss_68 Messages postés 959 Date d'inscription   Statut Membre Dernière intervention   182
     
    Re f894009

    Merci de ton aide, mais dans l'actuel avec ton fichier modifier je ne respecte plus l'écart entre noms/prénoms/matricule. c'est à dire que plus il y a des lettre dans le nom plus l'écart augmente et le problème lorsque je sélectionne un noms dans le menu déroulant il n'est plus centré comme il devrait être à l'origine.
    en espérant que je me suis bien exprimé

    voir fichier

    http://www.cjoint.com/c/ELloFYT8Ris

    Cordialement
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,

      Tout a fait Thierry, c'est ce qui reste a faire, adapter la formule que vous utilisiez dans votre fichier d'origine, qui elle aussi a ses limites
      0
      1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention  
         
        Re,
        code modifie, adaptez les longueurs de chaines et la police de caractere pour ajuster au mieux

        Private Sub Worksheet_Change(ByVal Target As Range)
            Dim DerLig As Long, Lig As Long
            Dim xplage As Range
            'parametres longueur chaines
            Dim Nom As String * 20, Prenom As String * 12, Mat As String * 12
            
            On Error GoTo fin
            
            DerLig = Range("E" & Rows.Count).End(xlUp).Row
            If Target.Count > 1 Then Exit Sub
            Lig = Target.Row
            If Not Intersect(Target, Range("A2:C" & Lig)) Is Nothing Then
                Application.EnableEvents = False
                If IsEmpty(Range("A" & Lig)) And IsEmpty(Range("A" & Lig)) Then         'RAZ infos si A et B vides
                    Range("C" & Lig) = ""
                    Range("D" & Lig) = ""
                End If
                If Target.Column = 3 And Target <> Empty Then   'cellule C non vide
                    If IsEmpty(Range("A" & Lig)) Then
                        MsgBox "Remplir le nom svp!!!!!!"
                        Range("A" & Lig).Select
                        Application.Undo    'raz cellule
                        GoTo fin
                    End If
                    If IsEmpty(Range("B" & Lig)) Then
                        MsgBox "Remplir le prenom svp!!!!!!"
                        Range("B" & Lig).Select
                        Application.Undo
                        GoTo fin
                    End If
                    'remplissage colonne D:
                    Nom = Range("A" & Lig)
                    Prenom = Range("B" & Lig)
                    Mat = Range("C" & Lig)
                    Range("D" & Lig) = Nom & Prenom & Mat
                    Range("A2:D" & DerLig).Sort Range("A2"), xlAscending 'tri croissant pour les colonnes A,B,C
                ElseIf Target.Column = 3 And Target = Empty Then
                        Range("D" & Lig) = ""
                        Range("C" & Lig).Select
                        MsgBox "Attention: Infos incomplete(s)!!!!!!"
                        GoTo fin
                End If
                Set xplage = Range("E" & Rows.Count).End(xlUp) 'tri croissant pour la colonne f (n° de téléphone)
                Set xplage = Range(Range("E1"), xplage) 'tri croissant pour la colonne f (n° de téléphone)
                xplage.Sort key1:=Range("E1"), order1:=xlAscending, header:=xlYes 'tri croissant pour la colonne e (n° de téléphone)
            End If
        fin:
            Application.EnableEvents = True
        End Sub
        0
      2. The_boss_68 Messages postés 959 Date d'inscription   Statut Membre Dernière intervention   182 > f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention  
         
        Re 894009

        C'est super puissant, je crois que tu es arrivé au bout de tes peines, après quelques essais j'ai bien l'impression que cela fonctionne. Je te remercie sincèrement de coup de main et je verrais à l'usage si tout est parfait

        Merci encore du super coup de main et peu être à une autre fois pour un autre problème

        Salutations
        0