XL 2010 transfert de données sur autre classeur, selon 1 critère

juliemanette

XLDnaute Nouveau
Bonjour à tous

j'ai plusieurs questions.

1- J'ai une base de donnée, avec un état des devis (Accepté, Refusé, ou en attente), j'ai mis grâce à la mise en forme conditionnelle, une couleur différente pour chacun des états. Mais cette couleur ne se met que sur la cellule en question. Est il possible que la couleur se mette sur toute la ligne du tableau?

2- J'aimerais, aussi, que toutes les lignes qui sont en état "Accepté", se copie automatiquement sur un autre classeur.

Merci de votre aide :)
 

Pièces jointes

  • test.xlsx
    18.6 KB · Affichages: 6

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour à tous,
1 Réponse à la seconde partie : Archivage
VB:
Sub Archivage()
    Dim DL%, DL2%, L%
    Application.ScreenUpdating = False
    DL = Range("C65500").End(xlUp).Row
    DL2 = 1 + Range("A65500").End(xlUp).Row
    For L = 3 To DL
        If Cells(L, "E") = "Accepté" Then
            Sheets("Archives").Range("B" & DL2 & ":D" & DL2) = Range("C" & L & ":E" & L).Value
            Sheets("Archives").Cells(DL2, "A") = Date
            DL2 = DL2 + 1
            Application.CutCopyMode = False
            Range("C" & L & ":E" & L).Delete Shift:=xlUp
        End If
    Next L
End Sub
 

Pièces jointes

  • test_mp59.xlsm
    18 KB · Affichages: 3

juliemanette

XLDnaute Nouveau
L'avantage de Query est que les modifications dans la feuille initiale sont prises en compte.
Ex : un activé recopié devient un désactivé car l'activation était faîte par erreur, avec la mise à jour de la requête
Bonjour à tous,
1 Réponse à la seconde partie : Archivage
VB:
Sub Archivage()
    Dim DL%, DL2%, L%
    Application.ScreenUpdating = False
    DL = Range("C65500").End(xlUp).Row
    DL2 = 1 + Range("A65500").End(xlUp).Row
    For L = 3 To DL
        If Cells(L, "E") = "Accepté" Then
            Sheets("Archives").Range("B" & DL2 & ":D" & DL2) = Range("C" & L & ":E" & L).Value
            Sheets("Archives").Cells(DL2, "A") = Date
            DL2 = DL2 + 1
            Application.CutCopyMode = False
            Range("C" & L & ":E" & L).Delete Shift:=xlUp
        End If
    Next L
End Sub
bonjour
merci, mais je comprend pas comment vous avez faite le bouton archiver, j'ai regarder sur internet, ca me dit d'aller dans les options avancées de Excel, mais je n'ai pas cette fonction dans les options..
 

MP59

XLDnaute Occasionnel
bonjour

une actualisation avec macro? savez vous me dire svp
Bonjour,
voir fichier au post #5
c'est le même qu'au post#2 mais en xlsm (macros) avec une macro événementielle qui actualise la feuille de copie de la base lorsqu'on la sélectionne.
1676992304118.png
 

Discussions similaires

Réponses
8
Affichages
430

Statistiques des forums

Discussions
311 711
Messages
2 081 794
Membres
101 817
dernier inscrit
carvajal