Macro copier-coller -passer à la ligne suivante

mimilendo35

XLDnaute Nouveau
Bonjour,
J'ai réalisé une macro pour copier-coller les valeurs d'une colonne (RESULTATS dans la feuille "Comparaisons") dans une ligne (feuille "Tableau") et j'aimerais passer à la ligne suivante lorsque les valeurs de la colonne sont modifiées et que je réenclenche le bouton macro. Et ainsi de suite ..
Pour l'instant j'en suis là :

Sub Copiercoller()
'
' Copiercoller Macro
'

'
Sheets("Comparaison").Select
Range("F2:F9").Select
Selection.Copy
Sheets("Tableau").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Range("A4").Select
End Sub

Je vous envoie également le fichier en zip :) Merciiiii !
 

Pièces jointes

  • Pesticides2.zip
    224.4 KB · Affichages: 46
  • Pesticides2.zip
    224.4 KB · Affichages: 40

vgendron

XLDnaute Barbatruc
Re : Macro copier-coller -passer à la ligne suivante

Re ;-)

il suffit de remplacer la ligne
Code:
Range("A2").Select
par
Code:
Range("A65536").End(xlUp).Offset(1, 0).Select


tu peux aussi réduire la macro à ceci
Code:
Sub Copiercoller()
'
' Copiercoller Macro
'

'
    Sheets("Comparaison").Range("F2:F9").Copy
    Sheets("Tableau").Activate
    Range("A65536").End(xlUp).Offset(1, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=True
    
End Sub
 

CPk

XLDnaute Impliqué
Re : Macro copier-coller -passer à la ligne suivante

Bonjour, le code suivant vous permet de recopier la plage voulu. Après je ne sais pas comment ou quand vous souhaitez l'activer donc le code peu varier légèrement selon ce que vous voulez faire

Code:
Sub Macro1()
Sheets("Tableau").Cells(Rows.Count, 1).End(xlUp)(2).Resize(1, 8) = Application.Transpose(Sheets("Comparaison").Range("F2:F9"))
End Sub
 

vgendron

XLDnaute Barbatruc
Re : Macro copier-coller -passer à la ligne suivante

ou encore mieux. pour ne pas avoir à selectionner, activer les feuilles
Code:
Sub Copiercoller()
'
' Copiercoller Macro

    With Sheets("Comparaison")
        .Range("F2:F9").Copy
        With Sheets("Tableau").Range("A65536").End(xlUp).Offset(1, 0)
            .PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
             :=False, Transpose:=True
        End With
    End With
End Sub
 

job75

XLDnaute Barbatruc
Re : Macro copier-coller -passer à la ligne suivante

Bonjour mimilendo35, vgendron, Cpk,

La macro du bouton :

Code:
Sub Copiercoller()
Dim lig&, c As Range, col As Variant
With Feuil4 'CodeName
  If .FilterMode Then .ShowAllData 'si la feuille est filtrée
  lig = .Range("A" & .Rows.Count).End(xlUp)(2).Row
  .Cells(lig, 1).Resize(, 8) = Application.Transpose([F2:F9])
  For Each c In [E10:E25]
    If c <> "" Then
      col = Application.Match(c, .[1:1], 0)
      If IsNumeric(col) Then .Cells(lig, col) = c(1, 2)
    End If
  Next
End With
End Sub
Dans la feuille "Comparaison" renseignez les cellules F10:F13 puisque E10:E13 le sont...

A+
 

job75

XLDnaute Barbatruc
Re : Macro copier-coller -passer à la ligne suivante

Re,

On n'est pas obligé d'utiliser Application.Transpose :

Code:
Sub Copiercoller()
Dim lig&, c As Range, col As Variant
With Feuil4 'CodeName
  If .FilterMode Then .ShowAllData 'si la feuille est filtrée
  lig = .Range("A" & .Rows.Count).End(xlUp)(2).Row
  For Each c In [E2:E25]
    If c <> "" Then
      col = Application.Match(c, .[1:1], 0)
      If IsNumeric(col) Then .Cells(lig, col) = c(1, 2)
    End If
  Next
  .Activate 'facultatif
End With
End Sub
A+
 

Discussions similaires

Statistiques des forums

Discussions
312 379
Messages
2 087 771
Membres
103 662
dernier inscrit
rterterert