Copie de ligne en fonction de la date de cellule et date system dans d'autre feuille

fredoud

XLDnaute Junior
Bonjour au forum,

Je souhaite copier une partie des lignes dont les dates sont supérieur à aujourd'hui (remise à jour tous les jours) sur la feuille "fichier" vers feuille "tableau de bord" (à partir de I24). Plus précisément, il faudrait que ce soit le contenu de la colonne (contrôle entre la ligne2 à 65536) A, K, L de "fichier" vers respectivement I, J, et K

exemple : (ligne 08/10/2011 et supérieur à aujourd'hui uniquement de "fichier")
Feuille "fichier" vers "tableau de bord"
A/K/L (fichier) VERS I/J/K (tableau de bord)

Voici mon code
Code:
Sub Transfert_RDV()
 
Dim i As Long
Dim idest As Long
Dim shSource As Worksheet
Dim shCible As Worksheet
 
Set shSource = Sheets("fichier")
Set shCible = Sheets("tableau de bord")
 
shCible.Range("I24:K34").ClearContents
idest = 24
 
For i = 2 To shSource.Range("A65536").End(xlUp).Row
 
    If shSource.Range("N" & i).Value = 3 And shSource.Range("Q" & i).Value >= Date Then
        shCible.Range("I" & idest).Value = shSource.Range("A" & i).Value
        shCible.Range("J" & idest).Value = shSource.Range("K" & i).Value
        shCible.Range("K" & idest).Value = shSource.Range("L" & i).Value
        idest = idest + 1
     End If
Next i
 
End Sub

Avez-vous une idée ?

Merci d'avance
 

fredoud

XLDnaute Junior
Re : Copie de ligne en fonction de la date de cellule et date system dans d'autre feu

Bonjour juju_69 et le forum,

Merci juju_69 car en relisant le code, j'ai corrigé le problème
Code:
If shSource.Range("N" & i).Value = 3
par
Code:
If shSource.Range("P" & i).Value = 3
C'était un problème de lettre qui désignait la colonne.

Une autre question, comment faire de même mais dans un userform cette fois-ci ?

En vous remerciant
 

fredoud

XLDnaute Junior
Re : Copie de ligne en fonction de la date de cellule et date system dans d'autre feu

Bonjour juju_ 69 et le forum

Désolé pour mon manque de précision, le code doit afficher les lignes dans un userform au lieu de la feuille "tableau de bord".

Merci

Frederique
 
Dernière édition:

juju_69

XLDnaute Occasionnel
Re : Copie de ligne en fonction de la date de cellule et date system dans d'autre feu

Hello,

ça c'est pas aussi évident à faire qu'une simple macro. Voici un exemple de code qui pourra t'inspirer :
Code à placer dans ton userform derrière ta liste
Code:
Dim F1 As Worksheet
Set F1 = ThisWorkbook.Sheets("tableau de bord")

Dern = F1.[A65000].End(xlUp).Row

With Me.ListView1
    .ListItems.Clear
    With .ColumnHeaders
         .Clear
'tu indiques ici tes colonnes avec le nom et la taille
         .Add , , "Civilité", 100
         .Add , , "Nom", 200 
         .Add , , "Prénom", 150 
         .Add , , "code postal", 50
    End With
    X = 0
    For Lig = 2 To Dern
            If F1.Cells(Lig, 1) <> "" Then
            X = X + 1
'tu indiques ici le N° des colonnes des valeurs qui vont alimenter ta liste 
            .ListItems.Add , , F1.Cells(Lig, 1).Value
            .ListItems(X).ListSubItems.Add , , F1.Cells(Lig, 2).Value 
            .ListItems(X).ListSubItems.Add , , F1.Cells(Lig, 3).Value 
            .ListItems(X).ListSubItems.Add , , F1.Cells(Lig, 4).Value
            End If
    Next Lig
End With
 

fredoud

XLDnaute Junior
Re : Copie de ligne en fonction de la date de cellule et date system dans d'autre feu

Bonsoir juju_69,

Je n'ai pas trop compris ton explication sachant que je suis pas douée en vba. Dans vba j'ai inserré un userform vierge mais après je bug.
Dans cet userform, je devrais utiliser au final 4 tableaux avec les colonnes suivantes (1er : client, date fact, n°, montant et restant du ; 2è : client, date devis, n° et montant ; 3è : client, date cde, n° et montant ; enfin le 4è : client, date RDV et heure)

Pouvez-vous m'aidez et m'expliquez ?

En vous remerciant à l'avance

Frederique
 

juju_69

XLDnaute Occasionnel
Re : Copie de ligne en fonction de la date de cellule et date system dans d'autre feu

Dans ton userform il faut que tu insères une listview (dispo dans les outils). Le code que je t'ai donné va alimenter le listview

Si tu ne connais pas du tout le plus simple est que tu recherches sur le net excel listview pour comprendre le fonctionnement. Idem pour la userform, car il va falloir que tu apprennes à l'ouvrir, à la fermer, à sélectionner un élément...

Comme je te le disais plus haut c'est un peu plus compliqué à manipuler et à appréhender que les macros.
 

juju_69

XLDnaute Occasionnel
Re : Copie de ligne en fonction de la date de cellule et date system dans d'autre feu

Hello,

J'ai trouvé ça qui est vraiment pas mal (sur le site dévellopez de mémoire)

@ +
 

Pièces jointes

  • ListView.zip
    119.6 KB · Affichages: 57
  • ListView.zip
    119.6 KB · Affichages: 57
  • ListView.zip
    119.6 KB · Affichages: 60

Discussions similaires

Réponses
7
Affichages
405

Statistiques des forums

Discussions
312 490
Messages
2 088 879
Membres
103 981
dernier inscrit
vinsalcatraz