VBA :Rajout de valeur à la suite d'une liste.

Résolu
ViriisXP Messages postés 535 Statut Membre -  
ViriisXP Messages postés 535 Statut Membre -
Bonjour,
je m'explique un peu mieux : j'ai besoin d'une macro qui prend lignes de la feuille : extraction et qui me les envois vers donnees. Jusque là, ca va. sauf que les valeurs sont :
produit | date de buté | Operation
mais dans donnees ils existent plusieurs opérations pour "produit",
ex :
lait | 12/05/12 | a jeter
lait | 12/05/12 | pour crepe
lait | 24/05/12| pour puree

bref, je veux pouvoir rajouter mes valeurs à la suite, sachant que d'autre produit se trouve au dessous bien sur, donc un petit row.insert.

Si une ou plusieurs ligne lait existe , on mets à la suite.
Sinon, on crée une nouvelle ligne a la fin.

voila. Merci par avance. :)



--

je pense donc je suis !

1 réponse

  1. Co_nexion Messages postés 333 Statut Membre
     
    Bonjour,

    Tes 2 dernières lignes me genent un peu :

    "Si une ou plusieurs ligne lait existe , on mets à la suite.
    Sinon, on crée une nouvelle ligne a la fin. "

    On ne met pas tous à la suite ? A la fin de quoi ?

    Un fichier exemple serait plus simple pour comprendre exactement ce que tu veux faire.

    A+
    0
    1. ViriisXP Messages postés 535 Statut Membre 41
       
      bonjour, oui à la suite des autres valeurs "lait" et pas à la fin de la liste entiere des valeurs

      lait
      lait
      lait
      pain
      pain
      pates
      ect;..

      je veux mes nouvelles valeurs à la suite des autres "lait" mais si lait n'existe pas, ben on mets à la fin de la liste (derniere cellules non vide +1)
      0
    2. Co_nexion Messages postés 333 Statut Membre
       
      Il te suffit de faire un tri alpha sur la colonne produit et cela s'organisera de cette manière.

      Si tu as un fichier transmet le
      0
    3. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Bonjour a vous deux

      Principe de recherche et insertion
      Il faudra completer pour les deux infos autre que le produit

      Sub Recherche_Infos()
        Dim Col_A As Range, Produit, DCNVA
        
        Produit = "lait "
        'Produit = "Beurre"
        
        'Recherche derniere ligne colonne A
        DCNVA = Worksheets("feuil1").Range("A" & Rows.Count).End(xlUp).Row
        
        With Worksheets("feuil1").Range("A1:A" & DCNVA)
          'Definition Plage de cellule pour recherche
          Set Col_A = .Range("A1:A" & DCNVA)
          'Nombre de fois meme produit
          Nb = Application.CountIf(Col_A, Produit)
          If Nb < 1 Then
            'Pas de Produit insert_ligne_Fin
            .Range("A" & DCNVA + 1) = Produit
          Else
            'Produit trouve, cherche derniere ligne du produit
            Set PLProd = .Find(Produit, , , xlWhole)
            rangee = PLProd.Row + Nb - 1
            'Insert ligne vers la bas et ecriture produit
            Rows(rangee & ":" & rangee).Insert xlDown
            .Range("A" & rangee) = Produit
          End If
        End With
      End Sub
      


      Bonne suite
      0
    4. ViriisXP Messages postés 535 Statut Membre 41
       
      Parfais , c'est ce que je cherchais, merci encore à vous deux ! :)
      0