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

Résolu/Fermé
ViriisXP Messages postés 482 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 11 janvier 2023 - 21 mai 2012 à 18:39
ViriisXP Messages postés 482 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 11 janvier 2023 - 23 mai 2012 à 07:34
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. :)



1 réponse

Co_nexion Messages postés 328 Date d'inscription lundi 5 mars 2012 Statut Membre Dernière intervention 15 juillet 2015
Modifié par Co_nexion le 22/05/2012 à 12:53
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
ViriisXP Messages postés 482 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 11 janvier 2023 40
22 mai 2012 à 14:21
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
Co_nexion Messages postés 328 Date d'inscription lundi 5 mars 2012 Statut Membre Dernière intervention 15 juillet 2015
22 mai 2012 à 15:12
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
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
22 mai 2012 à 15:43
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
ViriisXP Messages postés 482 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 11 janvier 2023 40
23 mai 2012 à 07:34
Parfais , c'est ce que je cherchais, merci encore à vous deux ! :)
0