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 .
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 !!!!!!
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
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 !!!!!!
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.
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:=Cells(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
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.
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 !!!!!!
merci bcps à vous les deux solutions après une toute modification de
paramètrage..
merci encore et bravo
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de news:
C07E26E8-B213-4945-AC18-A3B3F08C0C1E@microsoft.com...
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
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
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.
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" <fdecourt@gmail.com> a écrit dans le message de groupe de discussion :
8a5bb7bc-c6c0-455c-bd45-2c932f53f5a6@10g2000yqq.googlegroups.com...
FFO,
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.
FdeCourt
Michdenis,
C'était un question plutôt générique, pas forcément dans ce cas.
Cordialement,
F.
Michdenis,
C'était un question plutôt générique, pas forcément dans ce cas.
C'était un question plutôt générique, pas forcément dans ce cas.
Cordialement,
F.
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)
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)
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)