Bonjour, merci pour cette réponse,
comme je ne connais pas trop la propriété "ListObject, ListColumns", je suis débutant en VBA, j'ai trouvé la solution par une façon détourné:
J'ai modifié le format de mes dates en N° de série en faisant une boucle:
1 2 3 4 5 6
| For i = 0 To 18 ' 18 nombre de colonnes
With ActiveSheet.Range("c3").Offset(0, i) 'les dates se trouvent sur la troisième ligne "3" + une incrémentation sur les colonnes Offset(0, i)
.Select
.NumberFormat = "0"
End With
Next |
dt la valeur à chercher
dt est la date sous le format "ddd dd" sur ma feuille, pour la changer en N° de série : (trouvé en faisant des recherches sur developpez)
valeur=Int(CDbl(CDate("dt")))
,
ensuite j'utilise la fonction find sur toute la feuille
1 2 3 4 5 6 7 8 9 10 11
| With ActiveSheet.Range("a1:z100") 'la zone où s'effectue la recherche
Set trouve = .Find(What:=valeur, LookIn:=xlValues)
If Not trouve Is Nothing Then
MsgBox _
Prompt:="La cellule trouvée a pour adresse " & trouve.Address, _
Buttons:=vbInformation, _
Title:="Info"
Debug.Print (trouve.Address) 'information à retirer du code finalisé
Debug.Print (trouve.Column)
End If
end with |
et pour finir je réinitialise les dates à leur format initiale
1 2 3 4 5 6
| For i = 0 To 18
With ActiveSheet.Range("c3").Offset(0, i)
.Select
.NumberFormat = "ddd dd"
End With
Next |
Je ne sais si ceci est très efficace, je pense que la solution de Philippe Tulliez est plus rapide et plus adéquate mais cela fonctionne,
maintenant je dois trouver l'intersection entre la colonne (trouve.column) et une ligne qui correspond à un Nom rechercher.
au travail!!!
Partager