XL 2016 erreur dans macro

jad73

XLDnaute Occasionnel
Bonjour le forum
J'éxécute une macro qui devrais recopier les données a la suite des autres hors elle ne le fait pas elle ecrase sur les autres.
Ou est l'erreur.

VB:
Sub Macro15()
'
' Macro15 Macro
' copie B3:O26 en grille3
'

    Range("B3:O26").Select
    Selection.Copy
    Sheets("grille3").Select
  vligne = Range("A65536").End(xlUp).Rows
    vligne = vligne + 1
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    ActiveWindow.SmallScroll Down:=30
    Sheets("combi").Select
    Range("A18").Select
End Sub
merci
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil

Une autre syntaxe possible
VB:
Sub Macro15()
' copie B3:O26 en grille3
Dim rng As Range
Set rng = Range("B3:O26")
Sheets("grille3").Cells(Rows.Count, 1).End(3)(2).Resize(rng.Rows.Count, rng.Columns.Count).Value = rng.Value
End Sub
 

jad73

XLDnaute Occasionnel
Bonjour Staple1600, le forum
Merci pour ta réponse, c'est parfait.
J'utilise pourtant Vligne dans un autre fichier et elle fonctionne bien, bizarre.
J'ai rassemblé donc 5 macros en une seule, maintenant que la recopie ,avec ton fonctionne, le seul probleme que j'ai,
c'est que quand je clique sur la macro qui lance les autres, la 1ere macro14 qui prend la ligne W3:AP3 et la copie en B1,
VB:
Sub Macro14()
'
' Macro14 Macro
' copie ligne plage test W3:AP3 vers B1
'
    Range("W3").Select
    ActiveCell.FormulaR1C1 = "1"
    Range("W3:AP3").Select
    Selection.Copy
    Range("B1").Select
    ActiveSheet.Paste
    Range("A10").Select
End Sub

chaque fois donc reprend la meme ligne, W3:AP3
comment faudrait-il inscrire dans le code qu'elle saute une ligne a chaque clique de la 1ere,
c'est a dire W3:AP3 puis W4:AP4 et ainsi de suite jusqu'a la fin de la plage de test.
Merci
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil,

Pas sûr d'avoir tout compris
VB:
Sub Macro14b()
' Macro14 Macro
' copie ligne plage test W3:AP3 vers B1
Dim Lig&, t
Lig = Cells(Rows.Count, "AP").End(3).Row
For i = 3 To Lig
Cells(i, "W") = 1
t = Cells(i, "W").Resize(, 20).Value
Cells(i, 2).Resize(, 20).Value = t
Erase t
Next
End Sub
 

jad73

XLDnaute Occasionnel
Bonjour Staple1600, le forum
merci mais ce pas exactement ça que je recherche.
Le but est de tester des combinaisons et la marche a suivre quand je le fait manuellement.
1-je copie la ligne W3:AP3 et la recopie en B1
2-je clique sur les macros d'abord Go puis Macro11, Macro15 et Raz.
puis je recommence mais en copiant cette fois la ligne W4:AP4 puis les macros.
puis W5:AP5, les macros et ainsi de suite W6:AP6, les macros, W7:AP7.......
et ce jusqu'a la fin de la plage test.
C'est pourquoi dans la macro14 je pensais le faire automatiquement la copie des lignes W:AP.
j'ai regardé avec offset mais étant nul en vba je n'y arrive pas
Je joint un fichier.
merci
 

Pièces jointes

  • macroauto.xlsm
    997.6 KB · Affichages: 3

Discussions similaires

Réponses
3
Affichages
550

Statistiques des forums

Discussions
311 733
Messages
2 082 019
Membres
101 872
dernier inscrit
Colin T