XL 2013 Coller seulement dans les cellules visibles

EveDesLys

XLDnaute Nouveau
Bonjour à tous,

J'ai des données dans une colonne que je veux copier et coller dans un autre onglet. Mais, dans mon autre onglet, il y a des cellules masquées et je veux qu'il les ignorent pour coller seulement sur les cellules visibles.

Merci d'avance de votre aide!
 

EveDesLys

XLDnaute Nouveau
Marcel, j'ai dû modifier ma macro parce qu'elle ne fonctionnait plus avec des modifications que j'ai dû faire. Ensuite, j'ai essayé de la re-modifier pour insérer ce que tu m'as donné au #54, mais encore une fois, je suis novice et je n'ai pas réussi à faire fonctionner correctement la macro. Je dois avoir fait une erreur quelque part. Voici ma macro modifier. Peux-tu STP me la corriger? 🙏 Merci beaucoup!

Sub Hebdo2()
'
' Hebdo2 Macro
'

'
Sheets("Base de données").Select
Cells.Select
Selection.Copy
Sheets("Hebdo").Select
Cells.Select
ActiveSheet.Paste
Application.CutCopyMode = False
Application.Run "TEST.xlsm!CopierLignes"
ActiveWindow.SmallScroll Down:=-15
Selection.AutoFilter
Range("H5").Select
ActiveSheet.Range("$A$1:$Y$82").AutoFilter Field:=8, Criteria1:="Semaines"
ActiveSheet.Range("$A$1:$Y$82").AutoFilter Field:=10, Criteria1:="<>"
ActiveSheet.Range("$A$1:$Y$82").AutoFilter Field:=1, Operator:= _
xlFilterNoFill
Columns("A:A").Select
Selection.EntireColumn.Hidden = True
Columns("D:J").Select
Selection.EntireColumn.Hidden = True
Columns("M:M").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("B62").Select
Application.Run "TEST.xlsm!Jour"
Sheets("RDV").Select
Range("P2:p19").Select
Selection.Copy
With Sheets("Hebdo")
Range("B62").Select
x = 1
For Each c In PlageSource
x = x + 1
While .Cells(x, 2).EntireRow.Hidden = True
x = x + 1
Wend
.Cells(x, 2) = c
Next c
Sheets("Étapes").Select
End With
End Sub
 

TooFatBoy

XLDnaute Barbatruc
Je ne sais pas si je vais arriver à la corriger, mais je vais essayer. :cool:


ps : tu continues de ne pas répondre aux questions (as-tu vu #55 ???), et franchement ça n'encourage pas à te répondre et tenter de résoudre ton problème.

pps : déjà, vu d'ici, le code que tu as posté ne ressemble pas beaucoup à celui que j'ai proposé précédemment... :rolleyes:

ppps : par pitié, utilise la balise CODE=VB pour poster le code de tes macros !
Merci par avance ;)
 
Dernière édition:

EveDesLys

XLDnaute Nouveau
Oui, je voulais te répondre pour le #55 dans mon dernier message, j'ai juste oublié. Non, je n'utilise pas de macros d'un autre classeur, j'avais juste fait une copie pour faire des tests.

Pour ce qui est du code VB, quand je le mettais, ça ne fonctionnait pas.

J'ai inséré le code que tu m'avais donné dans ma macro, sous "Range("B62").Select"

Merci.
 

TooFatBoy

XLDnaute Barbatruc
J'ai inséré le code que tu m'avais donné dans ma macro, sous "Range("B62").Select"
Oui, mais... tu n'as pas tout recopié (il manque au moins l'affectation de la variable PlageSource), et tu as remis tous les Select et Selection qu'il vaut mieux éviter. ;)

Je n'ai pas encore eu le temps de regarder ton code, mais je ferai ça cette nuit.
 
Dernière édition:

TooFatBoy

XLDnaute Barbatruc
Bon, je ne sais pas ce que tu as voulu faire avant la copie, donc je n'en parlerais pas.
La seule chose que je peux dire, c'est qu'en ce qui concerne le copier/coller des données, ça reste identique à ce que je t'avais déjà donné.

Voici donc ta macro avec la partie copier/coller corrigée :
VB:
Sub Hebdo2()
'
    Sheets("Base de données").Select
    Cells.Select
    Selection.Copy
    Sheets("Hebdo").Select
    Cells.Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    CopierLignes
    Selection.AutoFilter
    Range("H5").Select
    ActiveSheet.Range("$A$1:$Y$82").AutoFilter Field:=8, Criteria1:="Semaines"
    ActiveSheet.Range("$A$1:$Y$82").AutoFilter Field:=10, Criteria1:="<>"
    ActiveSheet.Range("$A$1:$Y$82").AutoFilter Field:=1, Operator:=xlFilterNoFill
    Columns("A:A").EntireColumn.Hidden = True
    Columns("D:J").EntireColumn.Hidden = True
    Columns("M:M").Select
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("B62").Select
    Jour

    Set PlageSource = Sheets("RDV").Range("P2:P19")
    With Sheets("Hebdo")
        x = 1
        For Each c In PlageSource
            x = x + 1
            While .Cells(x, 2).EntireRow.Hidden = True
                x = x + 1
            Wend
            .Cells(x, 2) = c
        Next c
    End With

    Sheets("Étapes").Select

End Sub
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 907
Membres
101 836
dernier inscrit
karmon