XL 2010 Macro - Copier/Coller dans une cellule ou une autre selon valeur cellule

AHK

XLDnaute Nouveau
Bonjour,

J'ai un fichier avec un formulaire, je voudrais copier les valeurs de ce formulaire dans une feuille ou dans une autre cela dépendrai de la valeur d'une des cellules du formulaire.

Exemple :
Destination du document : "Site" ou "Groupe" (liste déroulante)
Le formulaire en dessous est complété.

Donc en appuyant sur le bouton enregistrer via une macro je souhaiterai que si la destination du document est "Site" alors les données du formulaire se copie dans l'onglet "Site".
Si la destination est "Groupe" alors les données vont dans l'onglet "Groupe".

Si vous pouviez m'aider, j'ai regardé plein de tuto YTB mais je ne trouve pas :( .
 

Phil69970

XLDnaute Accro
Bonjour @AHK, @iliess

Je te propose ce code :

VB:
Sub Bouton16_EnregistrerNvDoc()
Application.ScreenUpdating = False
Dim DerligSrc&, DerligDst&, F

DerligSrc = Feuil1.Range("A" & Rows.Count).End(xlUp).Row

F = "Documents " & Feuil1.[C6]

If Feuil2.Name = F Then
    DerligDst = Feuil2.Range("C" & Rows.Count).End(xlUp).Row + 1
    Feuil1.Range("A11:J" & DerligSrc).Copy
    Feuil2.Range("C" & DerligDst & ":L" & DerligDst).PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
Else
    DerligDst = Feuil3.Range("C" & Rows.Count).End(xlUp).Row + 1
    Feuil1.Range("A11:J" & DerligSrc).Copy
    Feuil3.Range("C" & DerligDst & ":L" & DerligDst).PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
End If

End Sub

*Il faut éviter au maximum les "activate" et les "select"
Puis avec Activate et Select je peux copier Coller les valeurs !!!!

@Phil69970
 

AHK

XLDnaute Nouveau
Bonjour @AHK, @iliess

Je te propose ce code :

VB:
Sub Bouton16_EnregistrerNvDoc()
Application.ScreenUpdating = False
Dim DerligSrc&, DerligDst&, F

DerligSrc = Feuil1.Range("A" & Rows.Count).End(xlUp).Row

F = "Documents " & Feuil1.[C6]

If Feuil2.Name = F Then
    DerligDst = Feuil2.Range("C" & Rows.Count).End(xlUp).Row + 1
    Feuil1.Range("A11:J" & DerligSrc).Copy
    Feuil2.Range("C" & DerligDst & ":L" & DerligDst).PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
Else
    DerligDst = Feuil3.Range("C" & Rows.Count).End(xlUp).Row + 1
    Feuil1.Range("A11:J" & DerligSrc).Copy
    Feuil3.Range("C" & DerligDst & ":L" & DerligDst).PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
End If

End Sub

*Il faut éviter au maximum les "activate" et les "select"


@Phil69970
Merci beaucoup !!
 

Discussions similaires

Haut Bas