XL 2019 Copié une selection dans une autre feuille

MPETIT

XLDnaute Nouveau
Bonjour à tous,

Je sais que le transfert de données a été résolu maintes et maintes fois mais là je bloque quand même....

Pour mieux comprendre voici une liste d'étape pour mieux comprendre mon fichier :

-Ouvrez le fichier
-Allez dans l'onglet "login" et marquez "Benoît" (nom d'utilisateur") et "stage" (mot de passe).
-Allez dans planning général, un "Userform" s'ouvrira et choisissez n'importe quelle mois.

Maintenant que vous avez ces informations classées en fonction des mois. J'aimerais les copier vers la "feuil1" grâce à un bouton. J'ai tout essayé mais a chaque fois il y a un problème soit de mauvais copiage soit de suppression d'informations.
Attention il faut qu'a chaque fois que l'on clique sur le bouton on est choisit un mois dans le "userform" et que celui-ci nettoie la feuille 1 avant de le copier (logique sinon on serrait obliger de supprimer manuellement les infos sur la feuil1 de l'ancien mois).

Le fichier : https://www.cjoint.com/c/IHvoOStLICT

Merci d'avance

Amitiés
 

Staple1600

XLDnaute Barbatruc
Re

En modifiant ainsi, plus de message d'erreur
Reste à savoir si la macro fait ce que tu veux qu'elle fasse
VB:
Sub Filtrer()
Dim f As Worksheet
Dim Ctrl As Control
Dim LigneC As Integer
Dim PlageS As Range
Dim Col As String
   ' On Error GoTo fin
    'Sélection
    Application.ScreenUpdating = False
    Set f = ActiveSheet
    Col = Switch(f.Name = "Planning_général", "C", f.Name = "Planification du préventif", "H")
    MsgBox Col ' pour test
    With f
        .Range("AA1:AA12").ClearContents
        If .FilterMode Then .ShowAllData
        For Each Ctrl In Me.Controls
            If Ctrl.Object.Value = True Then
                LigneC = Application.Max(2, .Range("AA23").End(xlUp).Row + 1)
                MsgBox LigneC ' pour test
                .Range("AA" & LigneC).Formula = "=MONTH(" & Col & "14)=" & Ctrl.Tag
            End If
        Next Ctrl
        'Tri
        Set PlageS = .Range("A13:M" & .Range("A" & Rows.Count).End(xlUp).Row)
        PlageS.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
        .Range("AA1:AA" & LigneC), Unique:=False
    End With
End Sub
Question: Si j'ai bien compris, l'userform doit s'afficher quand c'est Planning_général qui est la feuille active ?
 

MPETIT

XLDnaute Nouveau
Bonjour staple,

Merci pour ces infos et je n'avais pas eu ce problème étant donnée que j'avais créer un module comportant cela :
VB:
Option Explicit
Public WsS As Worksheet

Dès que l'utilisateur va la feuille "Planning général" alors l'userform apparaît.

Bien cordialement
 

Discussions similaires

Statistiques des forums

Discussions
314 628
Messages
2 111 329
Membres
111 102
dernier inscrit
driss touzi