P
PaulCusin
Guest
Bonjour,
Je bute actuellement sur une fonction Excel qui ne copie les cellules que lorsqu'elle est appelée par une Sub.
Faut-il modifier une variable de contexte?
Voici la Function:
'Public Function CopieValeurs(Ligne As Long, Colonne As Long, NbLignes As Single)
Public Static Function CopieValeurs()
'Dim Ligne As Long
'Ligne = Cells(6, 2).Value
Dim i As Single
'MsgBox ("Ligne: " & Ligne & " Colonne: " & Colonne & " NbLignes: " & NbLignes)
Worksheets("Feuil1").Activate
'For i = 1 To NbLignes
'MsgBox ("*Ligne: " & Ligne & " Colonne: " & Colonne & " NbLignes: " & NbLignes)
'Sheets("Données").Cells(Ligne, Colonne).Value = Sheets("Données").Cells(Ligne, Colonne).Value
'MsgBox ("Avant: " & Cells(Ligne, Colonne).Value)
'Cells(Ligne, Colonne).Value = Cells(1, 11).Value
'Sheets("Données").Cells(Ligne, Colonne).Value = "$$$$$$"
'Cells(5, 3).Value = "QQQ"
'MsgBox ("Après: " & Cells(Ligne, Colonne).Value)
'MsgBox ("Après: " & Cells(5, 3).Value)
Range("E6:E13").Select
'MsgBox ("Range Select1" & Cells(5, 3).Value)
Selection.Copy
'MsgBox ("Copy")
'Range("G6").Select
Range(Cells(6, 6), Cells(6, 7)).Select
'MsgBox ("Range Select2")
ActiveSheet.Paste
'MsgBox ("Paste")
'Ligne = Ligne + 1
'Next i
'Range(Cells(1, 1), Cells(5, 3))
'Range(Cells(5, 3)).Select
'macro2
CopieValeurs = Cells(5, 3).Value
'Exit Function
End Function
Et voici la Sub qui l'appelle:
Sub macro1()
'
' Macro1 Macro
' Macro enregistrée le 22/07/2010 par Paul CUSIN
'
'
'Range("E6:E13").Select
'Selection.Copy
''Range("G6").Select
'Range(Cells(6, 6), Cells(6, 7)).Select
'ActiveSheet.Paste
MsgBox CopieValeurs()
End Sub
A toutes fins utiles, je joins l'Excel créé pour cerner cette difficulté inexpliquée (pour le moment).
Merci de vos investigations et explications.
A bientôt.
Je bute actuellement sur une fonction Excel qui ne copie les cellules que lorsqu'elle est appelée par une Sub.
Faut-il modifier une variable de contexte?
Voici la Function:
'Public Function CopieValeurs(Ligne As Long, Colonne As Long, NbLignes As Single)
Public Static Function CopieValeurs()
'Dim Ligne As Long
'Ligne = Cells(6, 2).Value
Dim i As Single
'MsgBox ("Ligne: " & Ligne & " Colonne: " & Colonne & " NbLignes: " & NbLignes)
Worksheets("Feuil1").Activate
'For i = 1 To NbLignes
'MsgBox ("*Ligne: " & Ligne & " Colonne: " & Colonne & " NbLignes: " & NbLignes)
'Sheets("Données").Cells(Ligne, Colonne).Value = Sheets("Données").Cells(Ligne, Colonne).Value
'MsgBox ("Avant: " & Cells(Ligne, Colonne).Value)
'Cells(Ligne, Colonne).Value = Cells(1, 11).Value
'Sheets("Données").Cells(Ligne, Colonne).Value = "$$$$$$"
'Cells(5, 3).Value = "QQQ"
'MsgBox ("Après: " & Cells(Ligne, Colonne).Value)
'MsgBox ("Après: " & Cells(5, 3).Value)
Range("E6:E13").Select
'MsgBox ("Range Select1" & Cells(5, 3).Value)
Selection.Copy
'MsgBox ("Copy")
'Range("G6").Select
Range(Cells(6, 6), Cells(6, 7)).Select
'MsgBox ("Range Select2")
ActiveSheet.Paste
'MsgBox ("Paste")
'Ligne = Ligne + 1
'Next i
'Range(Cells(1, 1), Cells(5, 3))
'Range(Cells(5, 3)).Select
'macro2
CopieValeurs = Cells(5, 3).Value
'Exit Function
End Function
Et voici la Sub qui l'appelle:
Sub macro1()
'
' Macro1 Macro
' Macro enregistrée le 22/07/2010 par Paul CUSIN
'
'
'Range("E6:E13").Select
'Selection.Copy
''Range("G6").Select
'Range(Cells(6, 6), Cells(6, 7)).Select
'ActiveSheet.Paste
MsgBox CopieValeurs()
End Sub
A toutes fins utiles, je joins l'Excel créé pour cerner cette difficulté inexpliquée (pour le moment).
Merci de vos investigations et explications.
A bientôt.