XL 2016 Problème Macro

  • Initiateur de la discussion Initiateur de la discussion max006
  • Date de début Date de début
  • Mots-clés Mots-clés
    macro

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 !

max006

XLDnaute Nouveau
Bonjour ,

Je suis entrain de crée un formulaire basic ( j'ai un niveau très très bas )

Voici le code :

Sheets("Prod").Range("D2:J2").Select
Selection.Copy
Sheets("Juin").a4 ").End(xlDown).Offset(1, 0).Select"


Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Prod").Select
Range("D8:F8").Select
Application.CutCopyMode = False
Selection.ClearContents
Range("D11").Select
Selection.ClearContents
Range("F11").Select
Selection.ClearContents
Range("F14").Select
Selection.ClearContents
Range("F17").Select
Selection.ClearContents
Range("D14").Select
Selection.ClearContents
Range("D17").Select
Selection.ClearContents
End Sub

La macro fonctionne bien mais par contre elle ne va pas a la ligne suivante dans mon classeur , aurez vous des idées ?
Merci d'avance
 
Bonjour Max006

bien venue sur Xld
il faut savoir que travaillé sur un fichier aide beaucoup les intevenants

prmeire demande
cette Ligne fonctionne dans ton fichier ?
VB:
Sheets("Juin").a4 ").End(xlDown).Offset(1, 0).Select"
il me semble qu'il y a un problème !
ce serait mieux ainsi
Code:
Sheets("Juin").Range("a4").End(xlDown).Offset(1, 0).Select
Bonne journée
jean marie
 
Dernière édition:
Bonjour @max006 , @ChTi160 , @cathodique , le forum

Je te propose ceci:
VB:
Sub Macro11()
Application.ScreenUpdating = False
Dim Derlig&
Derlig = Worksheets("Juin").Cells(Worksheets("Juin").Rows.Count, "A").End(xlUp).Row + 1
 
Sheets("Prod").Range("D2:J2").Copy
Worksheets("Juin").Range("A" & Derlig).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
 
Sheets("Prod").Range("D8:F8,D11,D14,D17,F11,F14,F17").ClearContents

End Sub

@Phil69970
 
Dernière édition:
Hello, Mon objectif et juste de remplir un tableau en passant par un formulaire ++
D'après ce que j'ai compris, j'ai fait un ménage dans ton code.
à tester
VB:
Sub Macro11()
Dim dl As Long
    dl = Sheets("Juin").Cells(Rows.Count, 1).End(xlUp).Row + 1

'    Sheets("Prod").Range("D2:J2").Copy Sheets("Juin").Range("A" & dl)
'    Sheets("Prod").Range("D8:F8").ClearContents
'    Sheets("Prod").Range("D11").ClearContents
'    Sheets("Prod").Range("F11").ClearContents
'    Sheets("Prod").Range("F14").ClearContents
'    Sheets("Prod").Range("F17").ClearContents
'    Sheets("Prod").Range("D14").ClearContents
'    Sheets("Prod").Range("D17").ClearContents

'ou bien

With Sheets("Prod")
.Range("D2:J2").Copy Sheets("Juin").Range("A" & dl)
.Range("D8:F8").ClearContents
.Range("D11").ClearContents
.Range("F11").ClearContents
.Range("F14").ClearContents
.Range("F17").ClearContents
.Range("D14").ClearContents
.Range("D17").ClearContents
End With
End Sub
A+

edit: Salut @Phil69970
 
D'après ce que j'ai compris, j'ai fait un ménage dans ton code.
à tester
VB:
Sub Macro11()
Dim dl As Long
    dl = Sheets("Juin").Cells(Rows.Count, 1).End(xlUp).Row + 1

'    Sheets("Prod").Range("D2:J2").Copy Sheets("Juin").Range("A" & dl)
'    Sheets("Prod").Range("D8:F8").ClearContents
'    Sheets("Prod").Range("D11").ClearContents
'    Sheets("Prod").Range("F11").ClearContents
'    Sheets("Prod").Range("F14").ClearContents
'    Sheets("Prod").Range("F17").ClearContents
'    Sheets("Prod").Range("D14").ClearContents
'    Sheets("Prod").Range("D17").ClearContents

'ou bien

With Sheets("Prod")
.Range("D2:J2").Copy Sheets("Juin").Range("A" & dl)
.Range("D8:F8").ClearContents
.Range("D11").ClearContents
.Range("F11").ClearContents
.Range("F14").ClearContents
.Range("F17").ClearContents
.Range("D14").ClearContents
.Range("D17").ClearContents
End With
End Sub
A+

edit: Salut @Phil69970
Ca fonctionne c'est PARFAIT merciiiii
Par contre pour mettre un collage en valeur je peux le rajouter ?
 
Re

@cathodique
*Pour nettoyer toutes les cellules en même temps une ligne de code suffit😉
VB:
Sheets("Prod").Range("D8:F8,D11,D14,D17,F11,F14,F17").ClearContents

*Ta copie n’enlèves pas le format comme @max006 le souhaite


@Phil69970
Je te remercie pour ton retour.
Je suis resté dans le basique plus qu'il nous disait dans son 1er post :"j'ai un niveau très très bas"
J'ai vu aussi qu'il n'y avait aucune mise en forme, d'où mon utilisation de 'Copy'.

Encore merci.

Bonne journée.
 
Pour le fun, pour ne plus passer par une ligne intermédiaire.
VB:
Option Explicit

Sub Macro12()
'en utilisant un Array Tb, plus la peine de passer par la 2ème de la feuille 'prod'
    Dim dl As Long, Tb(6)
    Application.ScreenUpdating = False
    dl = Sheets("Juin").Cells(Rows.Count, 1).End(xlUp).Row + 1
    With Sheets("Prod")
        Tb(0) = .Range("D8").Value
        Tb(1) = .Range("D11").Value
        Tb(2) = .Range("F11").Value
        Tb(3) = .Range("D14").Value
        Tb(4) = .Range("F14").Value
        Tb(5) = .Range("D17").Value
        Tb(6) = .Range("F17").Value
        Sheets("Juin").Range("A" & dl).Resize(1, UBound(Tb) + 1).Value = Tb
        .Range("D8:F8,D11,D14,D17,F11,F14,F17").ClearContents
    End With
        Application.ScreenUpdating = False
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
10
Affichages
486
Réponses
18
Affichages
237
Réponses
17
Affichages
934
Réponses
2
Affichages
238
Réponses
5
Affichages
410
Réponses
1
Affichages
474
Retour