Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    juillet 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juillet 2019
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Inscription date de retrait suite a recherche
    Bonjour à tous,


    Mon titre ne doit pas être très clair alors voici quelques explications:

    Je coince sur un projet excel, il s'agit d'un fichier client avec en 1ere page un classeur de recherche relier sur la cellule C4 a recherche par nom et C5 par tel. tous fonctionne parfaitement, hors j'ai rajouter un bouton qui doit permettre de noter automatiquement que le client et venu retirer son produits en colonne Q de la feuille "base_clients" devant sont nom. je vous joint le fichier si vous avez besoin de plus explication hésiter pas .


    Voci le fichier en question

    http://www.grosfichiers.com/VER5VuEjQEK
    Merci à vous.

  2. #2
    Membre émérite
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    juillet 2016
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : juillet 2016
    Messages : 1 414
    Points : 2 501
    Points
    2 501
    Par défaut
    Bonjour,

    D'abord, pourquoi fusionner plusieurs lignes dans la feuille recherche? 1 seule ligne par nom suffit, adaptez la hauteur de ligne à votre convenance et vous aurez le même rendu visuel.
    Voici un exemple de ce que vous attendez, attention j'ai tenu compte de la remarque précédente, donc 1 nom par ligne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Sub Valider_Le_Retrait()
        Dim F1 As Worksheet, F2 As Worksheet
        Dim DerLig As Long, i As Long
        Application.ScreenUpdating = False
        Set F1 = Sheets("Recherche")
        Set F2 = Sheets("base clients")
        DerLig = F1.[A9].End(xlDown).Row
        ReDim Nom(DerLig)
        For i = 9 To DerLig
            Nom(i) = F1.Cells(i, "A")
        Next i
        For i = 9 To DerLig
            Set x = F2.Columns(1).Find(Nom(i), LookIn:=xlValues, lookat:=xlWhole)
            If Not x Is Nothing Then
                F2.Cells(x.Row, "Q") = Format(Date, "m/d/yyyy")
            Else
                MsgBox "Client pas trouvé"
                Exit Sub
            End If
        Next i
        Set F1 = Nothing
        Set F2 = Nothing
    End Sub

    Cdlt

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    juillet 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juillet 2019
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Tout d'abord merci pour votre réponse.

    J'ai essayer votre méthode cela fonctionne pour la première ligne de recherche par nom en revanche cela ne fonctionne pas si je fait une recherche sur la deuxième ligne donc par numéros car ce sont deux mode de recherche bien distinct.

    merci à vous.

  4. #4
    Membre émérite
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    juillet 2016
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : juillet 2016
    Messages : 1 414
    Points : 2 501
    Points
    2 501
    Par défaut
    Vous n'avez pas suivi ce que j'ai dit à propos des cellules fusionnées. Avez-vous fait ceci?

    Nom : Capture.JPG
Affichages : 28
Taille : 98,7 Ko

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    juillet 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juillet 2019
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Voici ce que j'ai fait.

    http://www.grosfichiers.com/7cprcTH2g38

  6. #6
    Membre émérite
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    juillet 2016
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : juillet 2016
    Messages : 1 414
    Points : 2 501
    Points
    2 501
    Par défaut
    Bonjour,

    Voilà le tableau, Je me suis basé sur ce que vous aviez fait, à savoir la recherche par tél, vous pouvez modifier pour faire une recherche par nom en employant le même principe.
    En colonne N (masquée): formule pour récupérer toutes les lignes correspondant au numéro de téléphone recherché. en N9 et à tirer vers le bas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SIERREUR(EQUIV($C$5;INDIRECT("'base clients'!$C"&N8+1&":$C$10000");0)+N8;"")
    Ensuite dans le tableau, remplacement de Equiv(..;..;..) par la valeur trouvée en colonne N.

    Le fichier
    fx1013_client BOSCHtest2.0.xls

    Cdlt

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    juillet 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juillet 2019
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Re.

    Encore merci pour votre aide mais je suis désoler votre tableau (sans que je fasse de modif.) ne fonctionne pas lorsque que je clique sur "validez retrait" il me marque client pas trouver et ci je rajoute des tels dans la liste dans la recherche, que ceux soit par nom ou par tel il ne les trouve plus.

    Sinon ne vous prenez pas trop la tête je laisserai comme avant tant pis.

    Merci à vous.

  8. #8
    Membre émérite
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    juillet 2016
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : juillet 2016
    Messages : 1 414
    Points : 2 501
    Points
    2 501
    Par défaut
    Bonjour,

    C'est ma faute, je n'ai pas vu toutes les colonnes masquées,
    rectificatif:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    Sub Valider_Le_Retrait()
        Dim F1 As Worksheet, F2 As Worksheet
        Dim DerLig As Long, i As Long
        Application.ScreenUpdating = False
        Set F1 = Sheets("Recherche")
        Set F2 = Sheets("base clients")
        DerLig = F1.[A9].End(xlDown).Row
        F1.Range("A9:Q1000").ClearContents
     
        'Formules
        F1.Range("A9:A" & DerLig).FormulaR1C1 = "=IFERROR(INDEX(Base_Clients,RC14,COLUMN()),"""")"
        F1.Range("C9:C" & DerLig).FormulaR1C1 = "=IF(RC1="""","""",R5C3)"
        F1.Range("D9:M" & DerLig).FormulaR1C1 = "=IF(RC1="""",0,INDEX(Base_Clients,RC14,COLUMN()))"
        F1.Range("N9").FormulaR1C1 = "=IFERROR(MATCH(R5C3,INDIRECT(""'base clients'!$C""&R[-1]C+1&"":$C$10000""),0)+R[-1]C,"""")"
     
        Tel = F1.Cells(5, "C")
        With F2.Columns(3)
            Set x = .Find(Tel, LookIn:=xlValues, lookat:=xlWhole)
            If Not x Is Nothing Then
                deb = x.Address
                Do
                    F2.Cells(x.Row, "Q") = Format(Date, "m/d/yyyy")
                    Set x = .FindNext(x)
                Loop While Not x Is Nothing And x.Address <> deb
            End If
        End With
     
        Set F1 = Nothing
        Set F2 = Nothing
    End Sub
    Le fichier
    fx1013_client BOSCHtest3.xls

    ATTENTION, comme dit précédemment, je fais la recherche d'àprès le N° de téléphone de la cellule C4 feuille "Recherche", à adapter si vous voulez rechercher par le nom.

    Cdlt

Discussions similaires

  1. Réponses: 3
    Dernier message: 03/12/2016, 16h56
  2. Inscription date de création
    Par Jiyuu dans le forum VB.NET
    Réponses: 5
    Dernier message: 11/03/2007, 20h17
  3. Réponses: 4
    Dernier message: 24/11/2006, 17h03
  4. Réponses: 3
    Dernier message: 19/10/2006, 19h23
  5. Réponses: 6
    Dernier message: 21/08/2006, 00h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo