Sub Macro1()
Dim COL As Integer
COL = Cells(1, Application.Columns.Count).End(xlToLeft).Column + 1
MsgBox COL 'en chiffre
MsgBox Split(Columns(COL).Address(0, 0), ":")(1) 'en lettre
End Sub
Sub Macro2()
Dim R As Range
Set R = Rows(1).Find("30/07/2016", , xlValues, xlWhole)
If Not R Is Nothing Then R.Select
End Sub
Sub test()
MsgBox Cells(1, Columns.Count).End(xlToLeft).Offset(, 1).Address
Rows(1).Find( _
What:="30/07/2016", _
After:=Range("HI1"), _
LookIn:=xlValues, _
LookAt:=xlPart, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlNext).Activate
MsgBox ActiveCell.Address
MsgBox ActiveCell.Text
End Sub
Sub testv2()
Dim x As Date
x = Cells(1, Columns.Count).End(xlToLeft)
MsgBox Format(x - Weekday(x) Mod 7, "ddd dd yyyy")
End Sub
Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim COL As Integer 'déclare la variable COL (COLonne)
Set O = Worksheets("Tous") 'définit l'onglet O
'définit la dernière colonne éditée COL de la ligne 1 de l'onglet O
COL = O.Cells(1, Application.Columns.Count).End(xlToLeft).Column 'définit la dernière colonne éditée COL de la ligne 1
For I = COL To 1 Step -1 'boucle inversée sur les colonnes I de la dernière colonne COL à la colonne 1
On Error Resume Next 'gestion des erreurs (en cas d'erreur passe à la ligne suivante)
'condition 1 : si le jour de la semaine la cellule ligne 1 colonne COL est un samedi
'génère une erreur si la cellule ne contient pas une date
If Weekday(CDate(O.Cells(1, I))) = 7 Then
If Err <> 0 Then 'condition 2 : si une erreur a été générée
Err.Clear 'supprime l'erreur
GoTo suite 'va à l'étiquette "suite"
End If 'fin de la condition 2
Cells(1, I).Select 'sélectionne la cellule ligne 1 colonne I
Exit Sub 'sort de la procédure
End If 'fin de la condition 2
suite: 'étiquette
On Error GoTo 0 'annule la gestion des erreurs
Next I 'prochaine colonne I de la boucle inversée
End Sub
Sub testv3()
Dim x As Date, y As Date
x = Cells(1, Columns.Count).End(xlToLeft)
y = x - Weekday(x) Mod 7
Rows(1).Find( _
What:=CStr(y), _
After:=Range("HI1"), _
LookIn:=xlValues, _
LookAt:=xlPart, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlNext).Activate
End Sub