Modifier un VBA en Power BI

Accueil – Le CFO masqué Forums Power BI Modifier un VBA en Power BI

Affichage de 1 message (sur 1 au total)
  • Auteur
    Articles
  • #134344
    Yohan
    Participant

    Bonjour,

    Je suis actuellement en train, pour le travail, de faire une BI regroupant les congés posés. Il s’avère cependant que malgré mes effort, je n’arrive pas à ce que cela soit correcte et mon prédécesseur avait fait le nécessaire sur Excel en VBA via l’aide d’une Macro qui fonctionne très bien.

    Une âme charitable saurait m’indiquer comment je devrais modifier cette formule VBA en formule BI :

    Option Explicit
    Option Base 1

    Public Sub generateId()
    ‘Génération d’un identifiant pour les demandes CC

    Dim ligne As Integer
    Dim idDemande As String

    ligne = 2

    While expEConges.Cells(ligne, 2).Value <> “”
    If expEConges.Cells(ligne, 1).Value = “” Then
    ‘Il n’existe pas d’identifiant, j’en crée un
    idDemande = expEConges.Cells(ligne, 3).Value & “_” & expEConges.Cells(ligne, 8).Value & “_” & _
    expEConges.Cells(ligne, 14).Value & “_” & expEConges.Cells(ligne, 15).Value

    expEConges.Cells(ligne, 1).Value = idDemande
    End If
    ligne = ligne + 1
    Wend

    End Sub

    Public Sub recupCDF()

    ‘Récupération des libellés des centres de frais
    Dim ligne As Integer
    Dim i As Integer

    ligne = 2

    With cdf
    While .Cells(ligne, 1).Value <> “”
    cdfs(.Cells(ligne, 1).Value) = .Cells(ligne, 2).Value
    ‘Suppression des flags
    i = 2
    While Worksheets(.Cells(ligne, 2).Value).Cells(i, 2).Value <> “”
    Worksheets(.Cells(ligne, 2).Value).Cells(i, 1).Value = “”
    i = i + 1
    Wend

    ligne = ligne + 1
    Wend

    End With

    End Sub

    Public Function existDemandeInCdf(ByVal idCdf As Double, ByVal idDemande As String, ByVal numSemaine As String) As Integer
    ‘Vérifie si une demande est déjà présente pour le centre de frais
    Dim ligne As Integer
    Dim exist As Integer

    ligne = 2#

    exist = 0
    ‘idCdf = 50144
    With Worksheets(cdfs(idCdf))
    While .Cells(ligne, 2).Value <> “” And exist = 0
    If .Cells(ligne, 2).Value = idDemande And .Cells(ligne, 11).Value = numSemaine Then
    exist = ligne
    End If
    ligne = ligne + 1
    Wend

    End With

    existDemandeInCdf = exist

    End Function

    Public Function getDateDemandee(ByVal dateDemandee As String) As Date

    End Function

    Public Function isFerie(dateDemandee As Date) As Boolean

    Dim ligne As Integer
    Dim isF As Boolean

    isF = False
    ligne = 2
    While jf.Cells(ligne, 1).Value <> “” And Not isF
    If jf.Cells(ligne, 1).Value = dateDemandee Then isF = True
    ligne = ligne + 1
    Wend

    isFerie = isF

    End Function

    Public Function getNewLigneInCdf(idCdf As Double) As Integer
    Dim ligne As Integer

    ligne = 2
    ‘idCdf = 50144
    With Worksheets(cdfs(idCdf))
    While .Cells(ligne, 2).Value <> “”
    ligne = ligne + 1
    Wend
    End With

    getNewLigneInCdf = ligne

    End Function

    Public Function getCommentaireCollab(matricule As Long)

    Dim commentaire As String
    Dim ligne As Integer
    Dim found As Boolean

    commentaire = “”
    found = False
    ligne = 2

    While collabs.Cells(ligne, 1).Value <> “” And Not found
    If collabs.Cells(ligne, 1).Value = matricule Then
    ‘Le collab est trouvé, on met le commentaire à jour
    commentaire = collabs.Cells(ligne, 1).Value & ” – ” & collabs.Cells(ligne, 2).Value & _
    ” ” & collabs.Cells(ligne, 3).Value & vbCrLf & _
    “Activité : ” & collabs.Cells(ligne, 4).Value & vbCrLf & _
    “Contrat : ” & collabs.Cells(ligne, 5).Value & vbCrLf & _
    “Equipe : ” & collabs.Cells(ligne, 6).Value & vbCrLf & _
    “Informations Complémentaires : ” & collabs.Cells(ligne, 7).Value

    found = True
    End If
    ligne = ligne + 1
    Wend

    getCommentaireCollab = commentaire

    End Function
    Sub Macro1()

    Dim ligne As Integer

    ligne = 2
    With Feuil4
    While .Cells(ligne, 2).Value <> “”

    .Cells(ligne, 4).AddComment getCommentaireCollab(.Cells(ligne, 3).Value)
    .Cells(ligne, 4).Comment.Shape.Height = 102
    .Cells(ligne, 4).Comment.Shape.Width = 215
    .Cells(ligne, 4).Comment.Shape.OLEFormat.Object.Font.Size = 7

    ligne = ligne + 1
    Wend
    End With
    End Sub

    Merci d’avance à vous et bonne journée

Affichage de 1 message (sur 1 au total)
  • Vous devez être connecté pour répondre à ce sujet.