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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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

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..
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour