XL 2019 problème de macro

chinel

XLDnaute Impliqué
Bonjour, j'ai un souci avec ma macro voici le code:
Le problème c'est que j'ai un doublon et je n'arrive pas à le supprimer et aussi je désire qu'on copie seulement les valeurs; Merci

Sub test()
Dim c As Variant
Dim F1, F2 As Worksheet
Set F1 = Worksheets("Feuil1")
Set F2 = Worksheets("Feuil3")
Application.ScreenUpdating = False
For Each c In F1.Range("D7:AH7")
If c <> "" Then
F2.Range("A" & Rows.Count).End(xlUp).Offset(1, 0) = c.Offset(-1, 0)
c.Copy Destination:=F2.Range("B" & Rows.Count).End(xlUp).Offset(1, 0)
End If
Next c
Application.ScreenUpdating = True
End Sub
 

Pièces jointes

  • encodage-des-conges.xlsm
    30.9 KB · Affichages: 8

Dudu2

XLDnaute Barbatruc
Bonjour,
Et surtout on ne comprend rien à ce que tu veux faire avec tes 2 feuilles.
Donc soit tu expliques ici, soit tu mets des commentaires dans le code.

A noter que ça:
VB:
Dim F1, F2 As Worksheet
ça marche dans certains langages mais pas en VBA.
Ici tu déclares F1 Variant et F2 Worksheet.
 
Dernière édition:

chinel

XLDnaute Impliqué
Bonjour,
Et surtout on ne comprend rien à ce que tu veux faire avec tes 2 feuilles.
Donc soit tu expliques ici, soit tu mets des commentaires dans le code.

A noter que ça:
VB:
Dim F1, F2 As Worksheet
ça marche dans certains langages mais pas en VBA.
Ici tu déclares F1 Variant et F2 Worksheet.
c'est simple, je dois encoder des congés dans la feuille 1 et les remettre dans la feuille 3 à la suite de l'autre sans la mise en forme source
 

vgendron

XLDnaute Barbatruc
Euh.. par doublon.. tu ne veux quand meme pas dire que si tu cliques deux fois sur le bouton HOP, alors, les données se retrouvent deux fois?
et si tu cliques une troisième fois. alors.. tu as trois fois les memes données..??
c'est quand meme pas ca.. parce que si oui.. alors.. ton problème est simple.. avant de cliquer sur HOP, il faut commencer par effacer les données précédentes....
VB:
Sub test()
Dim c As Variant
Dim F1 As Worksheet
Dim F2 As Worksheet

Set F1 = Worksheets("Feuil1")
Set F2 = Worksheets("Feuil3")
Application.ScreenUpdating = False
With F2
    .Range("A2").CurrentRegion.Offset(1, 0).ClearContents 'efface le résultat précédent
    For Each c In F1.Range("D7:AH7")
        If c <> "" Then
            .Range("A" & Rows.Count).End(xlUp).Offset(1, 0) = c.Offset(-1, 0)
            c.Copy Destination:=.Range("B" & .Rows.Count).End(xlUp).Offset(1, 0)
        End If
    Next c
End With
Application.ScreenUpdating = True
End Sub
 

chinel

XLDnaute Impliqué
Euh.. par doublon.. tu ne veux quand meme pas dire que si tu cliques deux fois sur le bouton HOP, alors, les données se retrouvent deux fois?
et si tu cliques une troisième fois. alors.. tu as trois fois les memes données..??
c'est quand meme pas ca.. parce que si oui.. alors.. ton problème est simple.. avant de cliquer sur HOP, il faut commencer par effacer les données précédentes....
VB:
Sub test()
Dim c As Variant
Dim F1 As Worksheet
Dim F2 As Worksheet

Set F1 = Worksheets("Feuil1")
Set F2 = Worksheets("Feuil3")
Application.ScreenUpdating = False
With F2
    .Range("A2").CurrentRegion.Offset(1, 0).ClearContents 'efface le résultat précédent
    For Each c In F1.Range("D7:AH7")
        If c <> "" Then
            .Range("A" & Rows.Count).End(xlUp).Offset(1, 0) = c.Offset(-1, 0)
            c.Copy Destination:=.Range("B" & .Rows.Count).End(xlUp).Offset(1, 0)
        End If
    Next c
End With
Application.ScreenUpdating = True
End Sub
je ne veux pas effacer les données car je veux un historique donc, quand je clique sur "HOP" je sauvegarde et quand je réencode un congé, je reclique sur "HOP" pour encore sauvegarder ma nouvelle entrée.

vgendron, peut-on supprimer la mise en forme du collage et juste garder les valeurs, car quand je clique sur "HOP", il colle aussi la mise en forme merci et bonne journée​

 
Dernière édition: