Macro pour determiner l'état d'avancement projet

Bonjour ,

j'aurais besoin d'aide car j'aimerais avoir l'état d'avancement actuel de mes projets ( effectué , en cours, futur) en fonction de la date de début du projet et le type du projet.

En clair dans une feuille excel j'ai toutes les infos necessaire dans 3 colonnes (DATE DE DEBUT, projet , type) et en fonction de ces infos j'aimerais creer une autre colonne "avancement" dans une autre feuille ...

voici un exemple..

(j'ai rajouté des explications dans le fichier excel exemple)

Je vous remercie d'avance pour votre aide

A bientot

Voci ce que j'ai fait mais ça ne fonctionne pas .. help svp

Sub avancement()

Dim I As Integer
Dim J As Integer

Application.ScreenUpdating = False

With Sheets("Feuil2")
    For J = 2 To .Range("B" & Rows.Count).End(x1Up).Row
     For I = 2 To Sheets("Feuil1").Range("B" & Rows.Count).End(x1Up).Row
       If .Cells(J, "B") = Sheets("Feuil1").Cells(I, "B") Then
            If Sheets("Feuil1").Cells(I, "A") = Sheets("Feuil1").Cells(3, "A") Then
                If Sheets("Feuil1").Cells(I, "C") = Sheets("Feuil1").Cells(2, "C") Then
                .Cells(J, "A") = "Futur"
                End If
                If Sheets("Feuil1").Cells(I, "C") = Sheets("Feuil1").Cells(3, "C") Then
                .Cells(J, "A") = "en cours"
                End If

                If Sheets("Feuil1").Cells(I, "C") = Sheets("Feuil1").Cells(4, "C") Then
                .Cells(J, "A") = "passe"
                End If
              End If
        End If
    Next I
    Next J
End With

End Sub

Bonjour

En attendant VBA, une solution avec une formule et des plages nommées

En A2

=SI(MOIS(INDEX(Base;EQUIV(B2;Projets;0);1))=4;CHOISIR(EQUIV(INDEX(Base;EQUIV(B2;Projets;0);3);{"projet";"cadrage";"assistance"};0);"en cours";"futur";"passe");"")

Cordialement

ok merciii

re salut

je suis désolé mais je ne comprends pas tout.."Base" correspond à feuil 1 ?

comment sait on que l'on recherche dans la bonne colonne de feuil 1 ?

Sinon par macro :

210v1.xlsm (16.71 Ko)
Sub projet()

Dim ws1 As Worksheet, ws2 As Worksheet, l As Long
Set ws1 = Worksheets("Feuil1")
Set ws2 = Worksheets("Feuil2")
l = ws1.Range("A65000").End(xlUp).Row + 1

For i = 2 To l
ws2.Cells(i, 2) = ws1.Cells(i, 2)
If ws1.Cells(i, 1) = "01/04/2012" Then
    Select Case ws1.Cells(i, 3)
    Case "projet": ws2.Cells(i, 1) = "EN COURS"
    Case "cadrage": ws2.Cells(i, 1) = "FUTUR"
    Case "assistance": ws2.Cells(i, 1) = "PASSE"
    End Select
End If
Next i

End Sub

Cordialement

Bonjour

je suis désolé mais je ne comprends pas tout.."Base" correspond à feuil 1 ?

Noms définis

La Formule

=DECALER(Feuil1!$A$2;;;NBVAL(Feuil1!$A:$A)-1)

est nommée Date

La Formule

=DECALER(Feuil1!$A$2:$C$2;;;NBVAL(Date))

est nommée Base

La Formule

=DECALER(Feuil1!$B$2;;;NBVAL(Date))

est nommée Projets

et la Formule

=DECALER(Feuil1!$B$2;;;NBVAL(Date))

est nommée type

comment sait on que l'on recherche dans la bonne colonne de feuil 1 ?

Dans la Fonction INDEX-EQUIV, le dernier chiffre indique la colonne de la Base concernée

Dans cette partie de la formule

SI(MOIS(INDEX(Base;EQUIV(B2;Projets;0);1))=4

INDEX(Base;EQUIV(B2;Projets;0);1)

indique que c'est la colonne 1 (on cherche ici la Date)

Plus loin dans la formule

INDEX(Base;EQUIV(B2;Projets;0);3)

on cherche le type qui correspond au ProjetX et les types sont bien en colonne 3 de la Base.

Vu?

Cordialement

Ok merci beaucouppp

super

Rechercher des sujets similaires à "macro determiner etat avancement projet"