Rapatrié des info sur Excel 2010

Fermé
ray1962 Messages postés 2 Date d'inscription vendredi 3 novembre 2017 Statut Membre Dernière intervention 7 novembre 2017 - 6 nov. 2017 à 21:45
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 8 nov. 2017 à 09:15
J’ai un fichier sur Excel 2010
Et dans ce fichier j’ai des classeurs de « A » @ « M » qui détient des infos.
Sur environ 30 lignes dans ma colonne « G » je peux mettre ou enlever un « X »
Alors dans le classeur « N » par un bouton je voudrais emmener l’info.
Qui ont un « X » (colonne « G » )
Un a la suite de l’autre et après faire le trie
A voir également:

2 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 685
6 nov. 2017 à 22:00
Bonjour,

Bienvenue sur le forum.

dans ce fichier j’ai des classeurs
Je suppose que se sont les onglets dont tu parles ?
0
ray1962 Messages postés 2 Date d'inscription vendredi 3 novembre 2017 Statut Membre Dernière intervention 7 novembre 2017
7 nov. 2017 à 13:32
exacte onglet au bas :)
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 685
8 nov. 2017 à 09:15
Bonjour,

dans le classeur « N » par un bouton je voudrais emmener l’info
Comme tu n'as besoin de cette feuille que lorsque tu l'affiches, je te propose cette macro qui va mettre à jour ta feuille lorsque tu la choisis.
Elle est à copier dans la feuille « N » de l'éditeur de macros (alt+F11)
Option Explicit
Private Sub Worksheet_Activate()
Const deb = 2           ' ligne début infos à modifier
Dim ong As Worksheet    ' onglet traité
Dim lgo As Long         ' ligne origine
Dim lgc As Long         ' ligne copie
Application.ScreenUpdating = False
With ActiveSheet.UsedRange
    Cells(deb, 1).Resize(.Rows.Count, .Columns.Count).ClearContents
    lgc = deb
End With
For Each ong In ActiveWorkbook.Sheets
    If ong.Name <> ActiveSheet.Name Then
        For lgo = 1 To ong.Cells(Rows.Count, 7).End(xlUp).Row
            If LCase(ong.Cells(lgo, 7).Value) = "x" Then
                ong.Rows(lgo).Copy Destination:=Rows(lgc)
                lgc = lgc + 1
            End If
        Next lgo
    End If
Next ong
Application.ScreenUpdating = True
End Sub
0