Macro pour traitement d'état, Excel 2007

Bonjour,

Bonne et heureuse année 2011 à tous avant de commencer.

Voilà, je recherche une solution pour faire un petit traitement dans un fichier, mais je je ne sais pas comment le faire. Donc, je viens vous demander votre aide, mais sans pouvoir vous fournir un premier travail (ne m'y connaissant pas du tout en dev)

Voilà, dans mon tableau joint:

1- j'aimerais pouvoir rajouter un boutton qui permette de copier la dernière ligne en y ajoutant automatiquement le numero "id" et la date de création d'un article (date d'entrée) de la ligne

- j'aimerais pouvoir ajouter un numero "id" automatiquement

2- j'aimerai avoir pour chaque ligne, dans la colonne "etat actuel" le statut "A", "T" ou "V" selon que l'état correspond a la dernière cellule qui contient une date.

pour illuster: sur ma première ligne j'aimerais avoir statut actuel = T car c'est dans dans la colonne correspondante que se trouve la dernière date rentrée.

Sur la troisieme ligne, statut actuel = A

voilà ma requete. pouvez vous m'aider?

Je vous remercie.

107gestionproduits.xlsx (10.71 Ko)

Bonsoir,

Pour ajouter une ligne à la suite avec N° id incrémenté

pour le reste, j'ai rien compris à ta demande !

Sub InsertLigne()
Dim Lg&
    Lg = Range("b65536").End(xlUp).Row + 1
    Rows(Lg - 1).Copy Destination:=Rows(Lg)
    Rows(Lg).ClearContents
    Cells(Lg, "b") = Cells(Lg - 1, "b") + 1 'compteur
    Cells(Lg, "c") = Date
End Sub

Amicalement

Claude

71kpa-ajoutligne.zip (12.27 Ko)

Bonsoir M. DUBOIS,

Avant tout merci pour le retour et le code que je testerai des ce soir et vous dire ce qu'il en est.

En ce qui concerne les etats dont je parlais, j'ai reussi a trouver avec les fonction quelque chose qui marche a peu près dans le sens de ce que je veux, mais j'ai l'impression que du code VB arriverait mieux a faire des boucles de controle.

Explication: en fonction de la derniere date qui est rentrée dans les 3 colonnes de suivi d'état, il apparait le statut "A", "T' ou "V".

J'ai un peu galéré pour trouver les bonne combinaison de fonctions, enfin .....

Il me semble donc qu'une boucle peut faire mieux avec des test comme par exemple:

1- verifier que le date entrée pour les états (A,T ou V) est bien superieur o egale a la date d'aujourd'hui

2- verifier qu'on ne peut pas passer a un etat le plus a droite, sans etre passer par l'état juste avant

Pour finir, j'ai trouvé hier un bout de code permettant de rajouter un nombre de ligne choisi en fonction de là o^se trouve le curseur (donc pouvant insérer en milieu comme à la fin).

J'aurai souhaité pouvoir rajouter un nmobre de ligne choisi, mais uniquement à la fin des lignes dejà existantes vu que la date sera insérée automatiquement.

Merci pour votre compréhension et votre aide.

-- 13 Jan 2011, 19:10 --

Bonjour,

En fait merci pour la formule.

Elle marche très bien, mais je n'arrive pas a copier la formule qui est dans l'une des cellules.

comment puis-je resoudre ce probleme?

Merci.

46kpa-ajoutligne.zip (11.37 Ko)

Bonjour,

De deux choses l'une,

soit tu t'adresse à celui qui t'a fait la macro du fichier joint "gestionProduits_test.xls"

soit tu continue sur mon fichier en précisant l'histoire des "A", "T", "V"

à te relire

Claude

Bonjour?

merci pour le retour.

En effet, je prefere continuer sur ficher "kpa_ajoutligne" qui me semble plus compact et efficace au niveau du code et preciser l'histoire des "A" "T" et "V".

Je m'explique.

En effet, une fois qu'une ligne est ajoutée, on y rentre les informations pour chaque item.

Pour suivre donc les parcours de chaque item, on se base sur la date d'ASSEMBLAGE "A", de TEST "T" et de VALIDATION "V".

1- si la case ASSEMBLAGE est remplie et les deux autres vides, alors 'l' etat actuel' doit etre "A"

2- pour remplir la case TEST il faut que la case ASSEMBLAGE soit d abord remplie. Et si c'est le cas, 'l'etat actuel actuel' peut etre "T".

3- pour remplir la case VALIDATION, les deux precedentes doivent etre remplies absolument. et 'l'etat actuel' 'prend la valeur "V"

Je vous remercie pour votre aide, j'espère que j'ai eté plus precis sur mon besoin.

cdt,

k

-- 14 Jan 2011, 08:50 --

PS:

En fait, j 'ai essayer d'envoyer un post avec mon besoin et le fichier joint, mais il a été mis a la suite du message que j'avais envoyé un jour avant, en y associant le nouveau fichier. D'où l'impression de votre part sans doute que je vous ai transmis 2 fichiers parmi lesquels choisir.

Si je ne me trompe, sauf erreur de ma part, en essayant d apporter des commentaire a un post sans reponse avant, entraine que le commentaire soit mis a la suite du precedent message....

Bonjour,

En résumé, on recopie la formule colonne"i" sur la nouvelle ligne, c'est tout.

Qu'est-ce qui raconte en français l'InputBox du départ ?

un nombre de lignes à ajouter ?

Claude

Bonjour M. Dubois,

merci pour le retour.

Oui, en fait il s'agit de copier chaque ligne avec la meme formule à appliquer dans les cellules correspondantes.

J'ai essayer de produire du code avec deux solutions différentes, mais je pense que c'est une recette qui n'a pas fonctionné.

Oui, le message qui s'affiche demande de choisir le nombre de ligne à ajouter. Ce n'est pas impératif, seulement ca eviter de cliquer plusieurs fois.

Ceci dit, si il existe une boucle resumant les explications données dans le post précédant, je pense que ce sera plus efficace que copier la formule.

Qu'en pensez-vous?

Merci par avance.

k

re,

Sub InsertLigne()
Dim Lg&, i&, vRows
    vRows = Application.InputBox(prompt:= _
      "How many rows do you want to add?", Title:="Add Rows", _
      Default:=1, Type:=1) 'Default for 1 row, type 1 is number
    If vRows = False Then Exit Sub

        For i = 1 To vRows
            Lg = Range("b65536").End(xlUp).Row + 1
            Rows(Lg - 1).Copy Destination:=Rows(Lg)
            Range(Range("d" & Lg), Range("h" & Lg)).ClearContents
            Range(Range("j" & Lg), Range("k" & Lg)).ClearContents

            Cells(Lg, "b") = Cells(Lg - 1, "b") + 1 'compteur
            Cells(Lg, "c") = Date
        Next i
End Sub

Claude

Re,

Je vous remercie pour l'aide.

Je m'y mets tout de suite.

cdt,

k

Rechercher des sujets similaires à "macro traitement etat 2007"