Bonjour
Voilà je me sert d'un code qui me permet de retrouver une date, mais vu que je l'ai recopier, je n'arrive pas forcément à l'utiliser car je ne la comprend pas.
Index = Application.Match(TheDate, .Range(.Cells(3, 1), .Cells(3, .Columns.Count)), 0)
TheDate = Valeur cherchée
Le dernier "0", = recherche la première valeur qui est exactement égale à valeur cherchée
.Range(.Cells(3, 1), .Cells(3, .Columns.Count) : Ceci je n'arrive pas à le traduire afin de l'appliquer à ma nouvelle Macro.
Si quelqu'un peux m'expliquer comment fonctionne la matrice de recherche cela m'aiderais à avancer.
Voici en suite la macro que j'aimerais utiliser
Merci d'avance
Didier
Voilà je me sert d'un code qui me permet de retrouver une date, mais vu que je l'ai recopier, je n'arrive pas forcément à l'utiliser car je ne la comprend pas.
Index = Application.Match(TheDate, .Range(.Cells(3, 1), .Cells(3, .Columns.Count)), 0)
TheDate = Valeur cherchée
Le dernier "0", = recherche la première valeur qui est exactement égale à valeur cherchée
.Range(.Cells(3, 1), .Cells(3, .Columns.Count) : Ceci je n'arrive pas à le traduire afin de l'appliquer à ma nouvelle Macro.
Si quelqu'un peux m'expliquer comment fonctionne la matrice de recherche cela m'aiderais à avancer.
Voici en suite la macro que j'aimerais utiliser
Code:
Sub location()
Dim TheDate As Long, Index As Variant
Application.ScreenUpdating = False
Worksheets("Articles").Activate
Code = "LCHAP300" 'Code AGLM
Cde3 = "1" 'Command.TB3 'Valeur de la TB3 de l'USF Command
DatCde = "02/01/2013" 'Command.Lab_DatCde.Caption
DatRet = "05/01/2013" 'Command.Lab_DateRetour.Caption
'If Command.TB3 = "" Then
'Else
Worksheets("Articles").Activate
With Sheets("Articles")
'Chercher son nom dans la feuille Conso colonne B
Set c = .Range("B2:B" & .Cells(.Rows.Count, 1).End(xlUp).Row).Find( _
What:=Code, _
After:=.Range("B2"), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
Columns(2).Find(Code, , , , , Previous).Select
c.Value = Code
MsgBox "Quantité commandé : " & Cde3
If c(1, 8).Value = "" Then
c(1, 8) = Cde3 'Nbre ce Chapiteaux Cdé
c(1, 7).FormulaR1C1 = "=[@[Stock Total]]-[@[Qté Sortie]]" 'DIspo = Stock Total - Qté Sortie
Else
c(1, 8) = c(1, 8) + Cde3 'Qté Sortie + Cde en cours
c(1, 7).FormulaR1C1 = "=[@[Stock Total]]-[@[Qté Sortie]]" 'DIspo = Stock Total - Qté Sortie
End If
' MsgBox Datecde
If DatCde = "" Then
Else: c(1, 9) = CDate(DatCde) ' Affiche la Date de Sortie
End If
'MsgBox DateRet
If DatRet = "" Then
Else: c(1, 10) = CDate(DatRet) ' Affiche la date Retour
End If
c(1, 11).Select
ActiveCell.FormulaR1C1 = _
"=IF([@[Date de Retour]]="""","""",[@[Date de Retour]]-[@[Date de Sortie]])" ' Nbre de Jour de Loc = Date de Sortie - Date de Retour
Temps = c(1, 11)
'Recherche Date du début
TheDate = CDate(c(1, 9)) '(Command.Lab_DatCde)
'MsgBox TheDate
With Worksheets("Articles")
Index = Application.Match(TheDate, .Range(.Cells(2, 1), .Cells(2, .Columns.Count)), 0)
If IsError(Index) Then
MsgBox "Résultat négatif. Rien trouvé.", _
vbOKOnly + vbInformation, _
"Résultat"
Else
.Cells(2, Index).Select 'Sélectionne la date
End If
End With
'Fin Call Croisement
'------------------Recherche la Date du Jour----------------
'---------------------------Sélectionne la cellule à l'intersection Ligne/Colonne----------
Set Date_Loc = ActiveCell
col = Date_Loc.Column
Set Personnel = Range("B5:B1000").Find(Command.TB_Code)
ligne = Personnel.Row
Cells(ligne, col).Select
Application.ScreenUpdating = True
For i = 1 To Temps
ActiveCell = CDec(c(1, 7))
ActiveCell.Offset(0, 1).Select
Next i
End With
Application.ScreenUpdating = True
Worksheets("Planning").Activate
End Sub
Merci d'avance
Didier