-
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
-
Can you post the samle data?
I want to know data layout before and after run macro.
-
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
-
Forum Rules