XL 2013 Coller seulement dans les cellules visibles

  • Initiateur de la discussion Initiateur de la discussion EveDesLys
  • Date de début Date de début

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 !

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!
 
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😛19").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
 
Je ne sais pas si je vais arriver à la corriger, mais je vais essayer. 😎


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... 🙄

ppps : par pitié, utilise la balise CODE=VB pour poster le code de tes macros !
Merci par avance 😉
 
Dernière édition:
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.
 
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:
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
 
- 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

Réponses
1
Affichages
287
Réponses
10
Affichages
272
Réponses
3
Affichages
33
Retour