Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

date et trimestre

7 réponses
Avatar
STEPH B
Bonjour

en c2 jusqu 'à indéfini j'ai des dates sous la forme 31/03/2010
j'aimerais une macro qui me mette en cellule DW de la ligne de chaque date
le numéro du trimestre.

est ce possible?

exemple
en c2 j'ai 4/1/2010 en dw2 j aurais 1
en c1500 j'ai 4 avril 2010 en dw1500 j'aurais 2
et ainsi de suite ..

merci d'avance

si je peux me permettre est que quelqu'un sait comment comment créer un lien
hypertexte qui se retrouverais en DT correspondant au ligne ci dessus( à
chaque fois) qui me permettrais d'ouvrir directement le repertoire
exemple: "S\serveur\facture 2010\" & le numéro du trimestre trouvé , le tout
en lien hypertexte .

merci d'avance

7 réponses

Avatar
FFO
Salut à toi

Utilises ces lignes de code :

i = 2
Do While Range("C" & i) <> ""
Range("DW" & i) = Int((Month(Range("C" & i)) - 1) / 3) + 1
i = i + 1
Loop

Pour le lien Hypertexte je ne sais pas si on peux dans l'adresse faire appel
à une cellule mais tu peux utiliser l'évennement Doubleclick en mettant ces
lignes de code dans le VBA de la feuille :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
If Target.Column = 124 Then
Set IE = CreateObject("InternetExplorer.Application")
IE.Navigate "Sserveurfacture 2010" & Range("DW" & Target.Row) & ""
IE.Visible = True
End If
End Sub

Tu doubleclick sur une cellule de la colonne DT et le répertoire
correspondant devrait s'ouvrir

Celà devrait convenir


Dis moi !!!!!!
Avatar
FdeCourt
Salut,

Tu peux le faire ainsi :

For x = 2 To Cells(65536, 3).End(xlUp).Row
trimestre = Int((Month(Cells(x, 3).Value) - 1) / 3) + 1
Cells(x, 127).Value = trimestre
ActiveSheet.Hyperlinks.Add Anchor:Îlls(x, 124), Address:= _
"S:serveurfacture 2010" &
trimestre
Next

Ou utiliser une formule pour insérer le numéro du trimestre :
=ENT((MOIS(C2)-1)/3)+1

Cordialement,

F.
Avatar
STEPH B
merci bcps à vous les deux solutions après une toute modification de
paramètrage..

merci encore et bravo


"FFO" a écrit dans le message de news:

Salut à toi

Utilises ces lignes de code :

i = 2
Do While Range("C" & i) <> ""
Range("DW" & i) = Int((Month(Range("C" & i)) - 1) / 3) + 1
i = i + 1
Loop

Pour le lien Hypertexte je ne sais pas si on peux dans l'adresse faire
appel
à une cellule mais tu peux utiliser l'évennement Doubleclick en mettant
ces
lignes de code dans le VBA de la feuille :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
If Target.Column = 124 Then
Set IE = CreateObject("InternetExplorer.Application")
IE.Navigate "Sserveurfacture 2010" & Range("DW" & Target.Row) & ""
IE.Visible = True
End If
End Sub

Tu doubleclick sur une cellule de la colonne DT et le répertoire
correspondant devrait s'ouvrir

Celà devrait convenir


Dis moi !!!!!!

Avatar
FdeCourt
FFO,

Le Do While est-il plus performant que le For ?

Merci

Cordialement,

F.
Avatar
michdenis
Bonjour,

Si c'est la rapidité qui t'intéresse, tu devrais penser à ceci :

'-------------------------------------------
Sub test1()

Dim Rg As Range
With Worksheets("Feuil1")
Set Rg = .Range("C2:C" & .Range("C65536").End(xlUp).Row)
End With
With Rg
.Offset(, Range("DW1").Column - Range("C1").Column).Formula = _
"=Int((Month(" & Rg(1).Address(0, 0) & ")-1)/3)+1"
.Offset.Value = .Offset.Value
End With

End Sub
'-------------------------------------------



"FdeCourt" a écrit dans le message de groupe de discussion :

FFO,

Le Do While est-il plus performant que le For ?

Merci

Cordialement,

F.
Avatar
FdeCourt
Michdenis,

C'était un question plutôt générique, pas forcément dans ce cas.

Cordialement,

F.
Avatar
Modeste
Bonsour®
"FdeCourt" a écrit
Le Do While est-il plus performant que le For ?



l'utilisation et le principe sont différents
la performance est de toutes façon liée au nombre de boucles effectuées.
pour résumer :
Do... While la boucle est conditionnelle ("tant que " ou "jusqu'a"
condition booléenne)
For...Next la boucle est itérative (incrémentation ou décrémentation d'un
compteur de boucle)