macro incrémentation sur une ligne différente

J

jo

Guest
bonsoir et merci pour votre aide,

je voudrais simplement effectuer une macro :quand je clique sur un bouton A ça m'envoie une liste de résultat sur une ligne d'une autre feuille 'feuilB', jusque là rien de difficile, mais je voudrais que chaque fois que je clique sur ce bouton, les résultats s'incrémentent sur une ligne en dessous dans la 'feuilB'.
facile ?* merci pour votre aide ... ;)
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonsoir Justine, Jo, le Forum

En complémement de ce que dit Justine est sans selection de feuille ou de plage :


Méthode de base pour une valeur contenue dans une cellule :

Sub SendDataSheetB_OneCellString()
Dim MyString As String
Dim LastCell As Range

MyString = Sheets('FeuilA').Range('A1')

   
With Sheets('FeuilB')
       
Set LastCell = .Range('A65536').End(xlUp).Offset(1, 0)
   
End With
   
LastCell = MyString
End Sub


Méthode similaire mais en passant par un Object Range au lieu d'une string :

Sub SendDataSheetB_OneCellRange()
Dim MyRange As Range
Dim LastCell As Range


Set MyRange = Sheets('FeuilA').Range('A1')

   
With Sheets('FeuilB')
       
Set LastCell = .Range('A65536').End(xlUp).Offset(1, 0)
   
End With
   
LastCell = MyRange


Méthode plus élaborée si par exemple on veut passer la valeur de cinq cellule de A1 à E1 :


Sub SendDataSheetB_FiveCellsRange()
Dim MyRange As Range
Dim LastCell As Range


Set MyRange = Sheets('FeuilA').Range('A1:E1')

   
With Sheets('FeuilB')
       
Set LastCell = .Range('A65536').End(xlUp).Offset(1, 0)
   
End With
   
LastCell.Resize(1, 5) = MyRange()

End Sub


Bonne Soirée
[ol]@+Thierry[/ol]
 
J

jo

Guest
désolé , il n'est pas passé, je recommence, ... [file name=EXEMPLE_20060211225815.zip size=7779]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/EXEMPLE_20060211225815.zip[/file]
 

Pièces jointes

  • EXEMPLE_20060211225815.zip
    7.6 KB · Affichages: 45

_Thierry

XLDnaute Barbatruc
Repose en paix
RE Bonsoir Jo

Essaies de remplacer ta Macro1 par celle-ci :

Sub Macro1()
Dim MyRange As Range, Cell As Range
Dim LastCell As Range
Dim C As Byte

With Sheets('Feuil1')
Set MyRange = Application.Union(.Range('A12:C12'), .Range('B18'))
End With
   
With Sheets('Feuil2')
       
Set LastCell = .Range('A65536').End(xlUp).Offset(1, 0)
   
End With
   
For Each Cell In MyRange
C = C + 1
LastCell.Offset(0, C - 1) = Cell
Next

End Sub

Bonne Soirée
[ol]@+Thierry[/ol]
 

Pierrot93

XLDnaute Barbatruc
Re : macro incrémentation sur une ligne différente

Bonjour Kayss

oui, si l'autre classeur est ouvert, faire précéder les noms des feuilles par le nom du classeur concerné, exemploe :

Code:
With Workbooks("classeur1.xls").Sheets("Feuil1")
End With

bon après midi
@+
 

Discussions similaires

Statistiques des forums

Discussions
312 497
Messages
2 088 994
Membres
104 000
dernier inscrit
dinelcia