Couper le contenu de cellules par rapport a une date sur DTPicker

  • Initiateur de la discussion Initiateur de la discussion yves03
  • 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 !

yves03

XLDnaute Occasionnel
Bonjour,

J'ai un probleme que je n'arrive pas à resoudre, je voudrais pouvoir deplacer les 9 cellules du 1er Mars ( voir exemple dans fichier joint ) a une date que je selectionne dans un DTPicker .
Pour avoir acces au DTPicker j'ai un USF qui s'ouvre lorsque je clique sur une cellule de mon tableau ( il s'agit de la 1ere cellule de la 2eme ligne de chaque groupe de 9 cellules )
Merci d'avance de votre aide, vous m'aideriez beaucoup.
 

Pièces jointes

Re : Couper le contenu de cellules par rapport a une date sur DTPicker

Bonjour



Un peu plus d'explication serait nécessaire :

Déplacer : quoi " la plage "A2:C4"
Déplacer : ou ?

JP

merci de t'interesser à mon probleme.
Oui je voudrais deplacer la plage "A2-C4" par exemple ou une autre plage , et je voudrais la coller dans la plage qui correspond a la date de mon DTpicker que j'affiche.

Ex: si j'affiche le 5 Mars 2009 avec le DTPicker je voudrais deplacer le contenu de la plage "A2-C4" vers la plage "M2-O4"

Merci d'avance
 
Re : Couper le contenu de cellules par rapport a une date sur DTPicker

Bonjour

Ci dessous le fichier avec les procédures modifiées.
Pour simplifier j'ai changé les coordonnées de la cellule qui lance la procédure.

A tester et à modifier

JP

Correction à apporter : remplacer 3 par 2
 

Pièces jointes

Dernière édition:
Re : Couper le contenu de cellules par rapport a une date sur DTPicker

Merci de ton aide,

C'est pas simple, le probleme c'est que dans mon application j'utilise la cellule de la 2eme ligne pour lancer la procedure et en utilisant la 1ere cellule ça modifie tous le reste de mon appli.
Merci , c'est sympa de ta part
😉
 
Re : Couper le contenu de cellules par rapport a une date sur DTPicker

Bonjour

Merci de ton aide,

C'est pas simple, le probleme c'est que dans mon application j'utilise la cellule de la 2eme ligne pour lancer la procedure et en utilisant la 1ere cellule ça modifie tous le reste de mon appli.
Merci , c'est sympa de ta part
😉

Il faut connaitre la cellule qui lance la procédure,
par exemple si on utilise la première cellule de la deuxième ligne il faut modifier cette ligne
plage1 = colonneLCenAX(Target.Column) & Target.Row & ":" & colonneLCenAX(Target.Column + 3) & (Target.Row + 2)
en écrivant
plage1 = colonneLCenAX(Target.Column) & Target.Row -1 & ":" & colonneLCenAX(Target.Column + 3) & (Target.Row +1)

En utilisant la cellule du milieu
plage1 = colonneLCenAX(Target.Column-1) & Target.Row -1 & ":" & colonneLCenAX(Target.Column + 1) & (Target.Row +1)


Il ne faut pas oublier de modifier les valeurs associées à "Case"

Si on utilise plusieurs cellules dans le groupe des 9 cela est nettement plus compliqué, car il faut déterminer le début du carré.

JP
 
Dernière édition:
Re : Couper le contenu de cellules par rapport a une date sur DTPicker

Merci pour ton aide.

J'ai une autre question, est il possible d'effacer les cellules que l'ont vient de copier ?

Lorsque l'on copie vers la derniere colonne, il y a un trait de bordure qui apparait, je ne sais pas quoi modifier pour l'enlever.

Merci encore
 
Dernière édition:
Re : Couper le contenu de cellules par rapport a une date sur DTPicker

Bonsoir

Merci pour ton aide.

J'ai une autre question, est il possible d'effacer les cellules que l'ont vient de copier ?

Lorsque l'on copie vers la derniere colonne, il y a un trait de bordure qui apparait, je ne sais pas quoi modifier pour l'enlever.

Merci encore

Ci dessous la procédure modifiée
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Exit Sub
Dim Ligne As Integer
Dim colonne As Integer
Dim col1 As Long
Dim plage1 As String
Dim plage12 As String
Select Case Target.Column
    Case 1, 4, 7, 10, 13, 17
        Select Case Target.Row
            Case 2, 5, 8, 11, 14, 17, 20, 23
               USFdate.Show
               If trouve = 0 Then Exit Sub
               col1 = recherchedate("A1:IV11", date1, Target.Worksheet.Name, 3)
                plage1 = colonneLCenAX(Target.Column) & Target.Row & ":" & colonneLCenAX(Target.Column + 2) & (Target.Row + 2)
                plage2 = colonneLCenAX(col1) & Target.Row & ":" & colonneLCenAX(col1 + 3) & (Target.Row + 2)
               With Sheets(Target.Worksheet.Name)
                .Range(plage1).Copy
                .Range(plage2).PasteSpecial Paste:=xlPasteAllExceptBorders
                .Range(plage1).Clear
                End With
        
        End Select
End Select

End Sub

JP
 
- 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
22
Affichages
3 K
Retour