Bonjour JC, le Forum
Tout d'abord une petite remarque en ce qui concerne les bonnes règles d'usage dans ce Forum car ton sujet est on ne peut plus vaste... Par ailleurs ton second post semble concerner une Formule, ce qui n'a rien à voir. (Voir notre
Charte
Pour ce qui est de ta première question : Copy de cellules non adjacentes vers un autre tableau, voici un code qui devrait faire ce que tu cherches :
Option Explicit
Sub MultiCellCopy()
Dim PlageSource As Range, Cell As Range
Dim LastLine As Long
Dim Colonne As Byte
With Sheets("Sheet1")
Set PlageSource = Application.Union(.Range("A1"), .Range("B5"), .Range("C1"), .Range("D8"), .Range("H9"))
End With
LastLine = Sheets("Sheet2").Range("A65536").End(xlUp).Row + 1
Colonne = 1
For Each Cell In PlageSource
With Sheets("Sheet2")
.Cells(LastLine, Colonne) = Cell
End With
Colonne = Colonne + 1
Next
End Sub
Pour ce qui est de ta seconde question : Ouverture du Classeur sur une Feuille Particulière, voici un code à placer dans le Private Module "ThisWorkBook"
Private Sub Workbook_Open()
Sheets("Feuile 2").Activate
End Sub
Pour ce qui est de ton second Post, je ne suis pas spécialiste de Formule, mais en VBA ça donnerait ceci en partant du principe que tu saisis la DateFrom et la DateTo en "Sheet1" :
Sub BetweenDateCalculation()
Dim DateFrom As Date
Dim DateTo As Date
Dim PlageDate As Range, Cell As Range
Dim TheTotal As Double
DateFrom = Sheets("Sheet1").Range("A1")
DateTo = Sheets("Sheet1").Range("A2")
Set PlageDate = Sheets("Sheet3").Range("A1:A100")
For Each Cell In PlageDate
If Cell.Value >= DateFrom And Cell.Value <= DateTo Then
TheTotal = TheTotal + Cell.Offset(0, 10)
End If
Next
MsgBox "Total entre " & DateFrom & " et " & DateTo & " = " & TheTotal
End Sub
Bon Appétit
@+Thierry