Copié coller de la première cellule FILTREE

Bonjour,

Je dispose d'un code tel que :

Sub test()
    Dim i As Integer 'variable pour la boucle
    Dim s As String  'variable pour stocker la dernière valeur connue
    'Un exemple de boucle, cela dépends entièrement de votre besoin de travail
    'Par exemple, si vous voulez mettre un "FIN" dans une cellule et que vous voulez vous arreter la, ça serait
    'i = 1
    'while Activesheet.Cells(i,1).value <> "FIN"
    '    Code...
    '    i = i + 1
    'Wend
        For i = 2 To 1000
            'Si la cellule n'est pas vide, on stocke la valeur de cette cellule
            If (ActiveSheet.Cells(i, 1).Value <> "") Then
            s = ActiveSheet.Cells(i, 1).Value

            'Si la cellule est vide, on mets la valeur stockée dans la cellule
            Else
            ActiveSheet.Cells(i, 1).Value = s
            End If
        Next i
End Sub

Le but de ce code est de copié la valeur A1=3 et de la copié jusqu'à AX jusqu'à qu'il rencontre un autre A1245 =147 et la copie jusqu'à AY et ainsi de suite.

Je souhaiterais adapté ce code ou en faire un autre pour que celui-ci soit appliqué aux cellules filtrées uniquement et donc visible.

De facto, un autre problème est que ce code présente i =2 to 1000. Hors, lorsque je filtre j'aurais la ligne par exemple 4256 jusqu'à 5658 puis de 10000 jusqu'à 12000 à laquelle je dois attribuer ce code donc il faudrait que ce code soit adapté aux cellules visibles qui ont été filtré.

Merci pour votre aide !

Bonne journée !

Up!

Bonjour,

Merci de joindre un fichier à ta demande et de préciser l'objectif.

Cdlt.

Bonjour à tous

Essaie ce code ;

        For i = 2 To 20
            'On regarde si lacellule est vide
            If (ActiveSheet.Cells(i, 1).Value <> "") Then
                'Si la cellule n'est pas vide, on regarde si elle est masquée
                If Rows(i & ":" & i).EntireRow.Hidden = False Then
                    'Si elle n'est pas masquée, on la met en mémoire
                    s = ActiveSheet.Cells(i, 1).Value
                End If
            Else
                'Si la cellule est vide, on mets la valeur stockée dans la cellule
                ActiveSheet.Cells(i, 1).Value = s
            End If
        Next i

Bye !

Salut,

Désolé Jean-Eric ce n'est pas possible (Fichier de l'entreprise ou j'effectue mon stage je ne préfère pas divulguer).

Gmb, Ton code fonctionne à moitié, c'est à dire :

-Il me trouve la cellule visible et exécute la fonction. Mais par la suite il l'exécute sur toutes les cellules et non pas juste les cellules visibles.

Merci pour vos réponses !

Bonne matinée à vous !

Re,

Tu créés un fichier représentatif de tes données et tu l'envoies au forum.

On n'est pas là pour jouer aux devinettes.

Fais un minimum pour que l'on puisse t'apporter une aide adaptée.

Cdlt

Sur l'exemple du fichier joint, qui n'est pas confidentiel, que souhaites-tu obtenir quand tu cliques sur le bouton ?

bye !

11classeur1-v1.xlsm (24.62 Ko)

Salut GMB & Jean-Eric,

Voici le fichier.

En espérant avoir été claire.

Merci pour votre temps

20classeur1-v1.xlsm (17.69 Ko)

Nouvel essai.

Bye !

19classeur1-v2.xlsm (30.34 Ko)

Salut,

C'est nickel, comme quoi un exemple est toujours plus explicite, comme vous avez pu me le dire !

Je vous remercie pour votre temps GMB & Jean-Eric.

En espérant que ce post puisse aider d'autres

a+

Rechercher des sujets similaires à "copie coller premiere filtree"