IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Macros et VBA Excel Discussion :

Relance impayés VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2014
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2014
    Messages : 37
    Par défaut Relance impayés VBA
    Bonjour tout le monde



    J'ai un tableau de relance des clients (LISTE) et je cherche à avoir ceux qui n'ont pas payé selon le critère mois (Q2Q) et le résultat dans la feuille (RELANCE).


    Merci


    VOICI MON FICHIER

    Pièce jointe 645128
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    Bonjour ami, la forum
    A mon modeste avis il vaux mieux revoir la conception :
    Rang /Matricule /Nom & prénom /Classe/Mois / N° GSM
    puis tu insère un TCD avec des segments et tu aura ce que tu veux avec une belle présentation
    et si tu ajoute une colonne pour l'année ... tu peux faire les comparaisons entre les année
    si vous insister sur votre approche pour une raison que j'ignore tu peux tester
    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
    Sub CacherCol()
    Dim F1 As Worksheet
    Dim F2 As Worksheet
    Set F1 = Sheets("LISTE")
    Set F2 = Sheets("RELANCE")
    F2.Cells.ClearContents
    Application.ScreenUpdating = False
        F1.Cells.EntireColumn.Hidden = False
        For j = 5 To 14
        If Not F1.Cells(1, j) = F1.Cells(2, "Q") Then Columns(j).Hidden = True
        Next j
        For X = 1 To 4
        F1.Columns(X).Copy
        F2.Cells(1, X).PasteSpecial Paste:=xlPasteValues
        Next X
       MaVariable = F1.Cells(2, "Q")
       Set C = F1.Rows(1).Find(MaVariable, LookIn:=xlValues, LookAt:=xlWhole)
        Col = C.Column
        F1.Columns(Col).Copy
        F2.Cells(1, 5).PasteSpecial Paste:=xlPasteValues
        F1.Columns("O").Copy
        F2.Cells(1, 6).PasteSpecial Paste:=xlPasteValues
        F2.Select
        Application.CutCopyMode = False
    Application.ScreenUpdating = True
    End Sub
    Fichiers attachés Fichiers attachés

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Février 2010
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 299
    Par défaut li faut faire une formule de recherchev
    il faut ajouter dans la feuille de relance la formule = si(estvide(E2) = FAUX;C3;"")

  4. #4
    Membre actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2014
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2014
    Messages : 37
    Par défaut
    RE

    La solution donnée par BENNASR que je remercie d'ailleurs n'est complète car le résultat doit trier les non payeurs selon mois choisi.
    merci de revoir le code.

  5. #5
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    Je n arrive pas a comprendre
    Trier selon quelle colonne ??? Peux tu donner un exemple ?
    Si je peux deviner vous avez des lignes vides sur la feuille destination que vous voulez supprimer ??? si oui :
    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
    31
    Sub CacherCol()
    Dim F1 As Worksheet
    Dim F2 As Worksheet
    Set F1 = Sheets("LISTE")
    Set F2 = Sheets("RELANCE")
    F2.Cells.ClearContents
    Application.ScreenUpdating = False
        F1.Cells.EntireColumn.Hidden = False
        For j = 5 To 14
        If Not F1.Cells(1, j) = F1.Cells(2, "Q") Then Columns(j).Hidden = True
        Next j
        For X = 1 To 4
        F1.Columns(X).Copy
        F2.Cells(1, X).PasteSpecial Paste:=xlPasteValues
        Next X
        MaVariable = F1.Cells(2, "Q")
        Set C = F1.Rows(1).Find(MaVariable, LookIn:=xlValues, LookAt:=xlWhole)
        Col = C.Column
        F1.Columns(Col).Copy
        F2.Cells(1, 5).PasteSpecial Paste:=xlPasteValues
        F1.Columns("O").Copy
        F2.Cells(1, 6).PasteSpecial Paste:=xlPasteValues
        i = F2.Cells(Rows.Count, 1).End(xlUp).Row
        F2.Range("A1:f" & i).AutoFilter Field:=5, Criteria1:=""
        F2.Range("A2:f" & i).SpecialCells(xlCellTypeVisible).EntireRow.Delete
        F2.ShowAllData
        F2.Select
        F1.Cells.EntireColumn.Hidden = False
        Application.CutCopyMode = False
    Application.ScreenUpdating = True
    End Sub
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. [XL-2016] Relance d'un code VBA
    Par wouairness dans le forum Excel
    Réponses: 14
    Dernier message: 04/04/2022, 12h04
  2. [XL-2003] Lettre de relance factures impayées
    Par sweetty dans le forum Excel
    Réponses: 2
    Dernier message: 11/12/2018, 08h34
  3. [AC-2010] Cobe VBA relance requete formulaire n-1
    Par py86acces dans le forum VBA Access
    Réponses: 4
    Dernier message: 28/10/2018, 17h18
  4. [AC-2010] relancer une requete création de table en vba access
    Par facteur dans le forum VBA Access
    Réponses: 3
    Dernier message: 30/01/2017, 10h14
  5. [VBA-E]Relancer une instance excel : shellexecute ?
    Par boosty dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 14/02/2006, 09h49

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