Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
Boostez vos compétences Excel avec notre communauté !
Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force.
Apprenez, échangez, progressez – et tout ça gratuitement !
👉 Inscrivez-vous maintenant !
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
Deuxième question :
VB:
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
merci pour vos réponses. vos solutions fonctionnent par contre j'ai du mal expliqué mon besoin car en fait chaque lundi je dois repérer le samedi précédent.
Le 30/07/2016 était un exemple.
Oui tu t'es mal exprimé ! La preuve, aucune réponse n'a ciblé juste...
Essaie comme ça :
VB:
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
- Navigue sans publicité - Accède à Cléa, notre assistante IA experte Excel... et pas que... - Profite de fonctionnalités exclusives Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel. Je deviens Supporter XLD