Consulting

Results 1 to 3 of 3

Thread: VBA Excel - Macro simple - help needed

  1. #1

    VBA Excel - Macro simple - help needed

    Bonjour,

    Je suis novice en terme de VBA. Je souhaite mettre au point une Macro qui fonctionne comme suit :

    Une colonne A contient un Acronym en 3 lettre - du texte - exemple : ARR/ARA/ARU/...
    Une colonne B contient une phrase - du texte
    Une colonne C contient une date

    Je souhaite obtenir en colonne D, la date de la colonne C + "x" jours, en fonction de :

    1.Je souhaite rechercher le mot "Code" dans la colonne B et obtenir en colonne D = "Date de colonne C" + 3 jours
    2.Je souhaite rechercher l'acronym ARA dans la colonne A ET le mot "Code" dans la colonne B , pour obtenir en colonne D = "Date de colonne C" + 5 jours
    3.Je veux que pour toutes les celulles non vides restantes dans la colonne A, il y a en colonne D = "Date de colonne C" + 4 jours (il s'agit de la règle de base)

    Pouvez-vous m'aider ? Me faire une proposition de code ? Une ébauche ?

    Merci de votre aide,
    Cordialement,

    Vinzent219

  2. #2
    VBAX Expert
    Joined
    Sep 2016
    Posts
    788
    Location
    Can you post the samle data?
    I want to know data layout before and after run macro.

  3. #3
    VBAX Expert
    Joined
    May 2016
    Posts
    604
    Location
    try this or maybe "essaye celui la" :

    [vba]Sub addcolD()
    lastrow = Cells(Cells.Rows.Count, "A").End(xlUp).Row
    inarr = Range(Cells(1, 1), Cells(lastrow, 3))
    outarr = Range(Cells(1, 4), Cells(lastrow, 4))


    For i = 1 To lastrow
    If inarr(i, 1) <> "" Then
    ' not blank so must fill col d with something
    codefound = InStr(inarr(i, 2), "Code", 1)
    If codefound Then
    ' search for "ara in column A
    Arafound = InStr(inarr(i, 1), "ARA", 1)
    If Arafound Then
    outarr(i, 1) = inarr(i, 3) + 5
    Else
    outarr(i, 1) = inarr(i, 3) + 3
    End If
    Else
    outarr(i, 1) = inarr(i, 3) + 4
    End If
    Else
    outarr(i, 1) = ""
    End If

    Range(Cells(1, 4), Cells(lastrow, 4)) = outarr
    [/vba]

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •