Bonjour à tous,
J'ai un soucis de références - Projet qui n'est pas disponible.
En effet, la références Microsoft DAO 3.6 Object Library est bien disponible dans les choix mais pas dans le dossier en question
soit C:\Program Files\Common Files\microsoft shared
Le dossier de la référence est pourtant disponible dans le dossier suivant: C:\Program Files (x86)\Common Files\Microsoft Shared
J'ai donc fait un copier coller mais ma macro ne fait pas le lien entre outlook et excel.
Voici mon code:
Sub TT(AGE As String, DAT As String, REFCGT As String, REFESSERS As String, UM As Variant)
Dim XlApp, XlClas
Dim Fichier As String
Utilisateur = Environ("USERNAME")
Fichier = "C:\Users\"& Utilisateur &"\Desktop\Compil Prebooking.xlsm"
'Création d'un Excel
Set XlApp = CreateObject("Excel.Application")
XlApp.DisplayAlerts = False
'Ouverture du classeur
Set XlClas = XlApp.Workbooks.Open(Fichier)
lg = XlClas.Sheets(2).Range("A1").End(xldown).Row + 1
XlClas.Worksheets(2).Range("A" & lg) = AGE
XlClas.Worksheets(2).Range("B" & lg) = DAT
XlClas.Worksheets(2).Range("C" & lg) = REFCGT
XlClas.Worksheets(2).Range("D" & lg) = REFESSERS
For i = 1 To UBound(UM)
test = Trim(Right(UM(i), 4))
If test = "EURO" Then
If i > 1 And XlClas.Worksheets(2).Range("E" & lg) <> "" Then
XlClas.Worksheets(2).Range("E" & lg) = XlClas.Worksheets(2).Range("E" & lg) + (Left(UM(i), 2) * 1)
Else
XlClas.Worksheets(2).Range("E" & lg) = Left(UM(i), 2) * 1
End If
ElseIf test = "PAL" Then
If i > 1 And XlClas.Worksheets(2).Range("F" & lg) <> "" Then
XlClas.Worksheets(2).Range("F" & lg) = XlClas.Worksheets(2).Range("F" & lg) + (Left(UM(i), 2) * 1)
Else
XlClas.Worksheets(2).Range("F" & lg) = Left(UM(i), 2) * 1
End If
ElseIf test = "P6" Then
If i > 1 And XlClas.Worksheets(2).Range("G" & lg) <> "" Then
XlClas.Worksheets(2).Range("G" & lg) = XlClas.Worksheets(2).Range("G" & lg) + (Left(UM(i), 2) * 1)
Else
XlClas.Worksheets(2).Range("G" & lg) = Left(UM(i), 2) * 1
End If
ElseIf test = "QDP" Then
If i > 1 And XlClas.Worksheets(2).Range("H" & lg) <> "" Then
XlClas.Worksheets(2).Range("H" & lg) = XlClas.Worksheets(2).Range("H" & lg) + (Left(UM(i), 2) * 1)
Else
XlClas.Worksheets(2).Range("H" & lg) = Left(UM(i), 2) * 1
End If
ElseIf test = "CIT" Then
If i > 1 And XlClas.Worksheets(2).Range("I" & lg) <> "" Then
XlClas.Worksheets(2).Range("I" & lg) = XlClas.Worksheets(2).Range("I" & lg) + (Left(UM(i), 2) * 1)
Else
XlClas.Worksheets(2).Range("I" & lg) = Left(UM(i), 2) * 1
End If
'*************************************************************************************************************************************
ElseIf test = "CRT" Then
If i > 1 And XlClas.Worksheets(2).Range("J" & lg) <> "" Then
XlClas.Worksheets(2).Range("J" & lg) = XlClas.Worksheets(2).Range("J" & lg) + (Left(UM(i), 2) * 1)
Else
XlClas.Worksheets(2).Range("J" & lg) = Left(UM(i), 2) * 1
End If
'*************************************************************************************************************************************
Else
If i > 1 And XlClas.Worksheets(2).Range("K" & lg) <> "" Then
XlClas.Worksheets(2).Range("K" & lg) = XlClas.Worksheets(2).Range("K" & lg) + (Left(UM(i), 2) * 1)
Else
XlClas.Worksheets(2).Range("K" & lg) = Left(UM(i), 2) * 1
End If
End If
Next i
XlClas.Worksheets(2).Range("L" & lg).FormulaR1C1 = "=RC[-1]+RC[-2]+RC[-3]+RC[-4]+RC[-5]+RC[-6]+RC[-7]"
' XlClas.Worksheets(2).Range("M" & lg).FormulaR1C1 = "=RC[-7]+RC[-6]+RC[-5]/2+RC[-4]/4+RC[-3]*1.25"
XlClas.Worksheets(2).Range("M" & lg).FormulaR1C1 = "=RC[-8]+RC[-7]+RC[-6]/2+RC[-5]/4+RC[-4]*1.25"
'Sauvegarde des modifications et fermeture du classeur
XlClas.Save
XlClas.Close True
'On quitte Excel
XlApp.Quit
'On libère la mémoire des variables
XlApp.DisplayAlerts = True
Set XlClas = Nothing
Set XlApp = Nothing
End Sub
Quelqu'un pour m'aider?
J'ai un soucis de références - Projet qui n'est pas disponible.
En effet, la références Microsoft DAO 3.6 Object Library est bien disponible dans les choix mais pas dans le dossier en question
soit C:\Program Files\Common Files\microsoft shared
Le dossier de la référence est pourtant disponible dans le dossier suivant: C:\Program Files (x86)\Common Files\Microsoft Shared
J'ai donc fait un copier coller mais ma macro ne fait pas le lien entre outlook et excel.
Voici mon code:
Sub TT(AGE As String, DAT As String, REFCGT As String, REFESSERS As String, UM As Variant)
Dim XlApp, XlClas
Dim Fichier As String
Utilisateur = Environ("USERNAME")
Fichier = "C:\Users\"& Utilisateur &"\Desktop\Compil Prebooking.xlsm"
'Création d'un Excel
Set XlApp = CreateObject("Excel.Application")
XlApp.DisplayAlerts = False
'Ouverture du classeur
Set XlClas = XlApp.Workbooks.Open(Fichier)
lg = XlClas.Sheets(2).Range("A1").End(xldown).Row + 1
XlClas.Worksheets(2).Range("A" & lg) = AGE
XlClas.Worksheets(2).Range("B" & lg) = DAT
XlClas.Worksheets(2).Range("C" & lg) = REFCGT
XlClas.Worksheets(2).Range("D" & lg) = REFESSERS
For i = 1 To UBound(UM)
test = Trim(Right(UM(i), 4))
If test = "EURO" Then
If i > 1 And XlClas.Worksheets(2).Range("E" & lg) <> "" Then
XlClas.Worksheets(2).Range("E" & lg) = XlClas.Worksheets(2).Range("E" & lg) + (Left(UM(i), 2) * 1)
Else
XlClas.Worksheets(2).Range("E" & lg) = Left(UM(i), 2) * 1
End If
ElseIf test = "PAL" Then
If i > 1 And XlClas.Worksheets(2).Range("F" & lg) <> "" Then
XlClas.Worksheets(2).Range("F" & lg) = XlClas.Worksheets(2).Range("F" & lg) + (Left(UM(i), 2) * 1)
Else
XlClas.Worksheets(2).Range("F" & lg) = Left(UM(i), 2) * 1
End If
ElseIf test = "P6" Then
If i > 1 And XlClas.Worksheets(2).Range("G" & lg) <> "" Then
XlClas.Worksheets(2).Range("G" & lg) = XlClas.Worksheets(2).Range("G" & lg) + (Left(UM(i), 2) * 1)
Else
XlClas.Worksheets(2).Range("G" & lg) = Left(UM(i), 2) * 1
End If
ElseIf test = "QDP" Then
If i > 1 And XlClas.Worksheets(2).Range("H" & lg) <> "" Then
XlClas.Worksheets(2).Range("H" & lg) = XlClas.Worksheets(2).Range("H" & lg) + (Left(UM(i), 2) * 1)
Else
XlClas.Worksheets(2).Range("H" & lg) = Left(UM(i), 2) * 1
End If
ElseIf test = "CIT" Then
If i > 1 And XlClas.Worksheets(2).Range("I" & lg) <> "" Then
XlClas.Worksheets(2).Range("I" & lg) = XlClas.Worksheets(2).Range("I" & lg) + (Left(UM(i), 2) * 1)
Else
XlClas.Worksheets(2).Range("I" & lg) = Left(UM(i), 2) * 1
End If
'*************************************************************************************************************************************
ElseIf test = "CRT" Then
If i > 1 And XlClas.Worksheets(2).Range("J" & lg) <> "" Then
XlClas.Worksheets(2).Range("J" & lg) = XlClas.Worksheets(2).Range("J" & lg) + (Left(UM(i), 2) * 1)
Else
XlClas.Worksheets(2).Range("J" & lg) = Left(UM(i), 2) * 1
End If
'*************************************************************************************************************************************
Else
If i > 1 And XlClas.Worksheets(2).Range("K" & lg) <> "" Then
XlClas.Worksheets(2).Range("K" & lg) = XlClas.Worksheets(2).Range("K" & lg) + (Left(UM(i), 2) * 1)
Else
XlClas.Worksheets(2).Range("K" & lg) = Left(UM(i), 2) * 1
End If
End If
Next i
XlClas.Worksheets(2).Range("L" & lg).FormulaR1C1 = "=RC[-1]+RC[-2]+RC[-3]+RC[-4]+RC[-5]+RC[-6]+RC[-7]"
' XlClas.Worksheets(2).Range("M" & lg).FormulaR1C1 = "=RC[-7]+RC[-6]+RC[-5]/2+RC[-4]/4+RC[-3]*1.25"
XlClas.Worksheets(2).Range("M" & lg).FormulaR1C1 = "=RC[-8]+RC[-7]+RC[-6]/2+RC[-5]/4+RC[-4]*1.25"
'Sauvegarde des modifications et fermeture du classeur
XlClas.Save
XlClas.Close True
'On quitte Excel
XlApp.Quit
'On libère la mémoire des variables
XlApp.DisplayAlerts = True
Set XlClas = Nothing
Set XlApp = Nothing
End Sub
Quelqu'un pour m'aider?