Se connecter avec
S'enregistrer | Connectez-vous

[VBA]creer une macro qui echange des donnees entre feuilles

Dernière réponse : dans Programmation

Bonjour a tous,

je debute sur vba et aurais besoin d'aide pour programmer une macro.

je vous explique:
j'ai feuil1 (qui est ma source de donnees) avec en colonne A les noms de 9 sites, en colonne B des numeros de serie et en colonne D des quantites.
Debut de liste ligne 2.
Il y a des doublons car le meme numero de serie peut apparaitre dans chaque site.

Je souhaite renvoye les quantites sur une nouvelle feuille deja existante (feuil2) mais en separant les noms de sites par colonne.
Debut de liste ligne 5.
Cela m'evite les doublons.
le numero de serie est en colonne A, les quantites s'inscrivent dans 9 colonnes (F a N) correspondant aux 9 sites que je separe.

La macro doit donc garder les quantites en fonction du site mais aussi du numero de serie.

En plus si un nouveau numero de serie apparait dans feuil1, la macro doit pouvoir l'inserer automatiquement dans feuil2.
Et si un numero de serie disparait dans feuil1, la valeur 0 doit apparaitre dans feuil2.

Si vous pouviez m'aider, merci.
Lassé par la pub ? Créez un compte

donne nous des extraits de ton prog qui te posent des problèmes (oublie pas les balises [code], sinon y en a un qui va gueuler ' :o  ' :D  ).
Compte sur personne pour te pondre ton prog, seulement pour t'aider.

j'ai commence un programme pour recherche unique (qui marche) mais je voudrais la generalisee pour tout les parts... mais je n'y arrive pas.
quelqu'un peut m'aiguiller ?
merci.

  1. #include<stdio.h>
  2. #include<sys.socket.h>
  3. #include<netinet/in.h>
  4. #include<netdb.h>
  5.  
  6. Dim vSite As String
  7. Dim vPart As Variant
  8. Dim vPrime As Variant
  9. Dim vCellule As Object
  10.  
  11. vSite = Sheets("dlyinveu").[A394]
  12. vPart = Sheets("dlyinveu").[B394]
  13. vPrime = Sheets("Inventory").[A60]
  14.  
  15. For Each vCellule In Sheets("Inventory").[F60]
  16. If vSite = "Athens" And vPart = vPrime Then
  17. Sheets("dlyinveu").[D394].Copy
  18. vCellule.PasteSpecial Paste:=xlValues
  19. Application.CutCopyMode = False
  20. End If
  21. Next
  22.  
  23. End Sub

  1. Dim vSite As String
  2. Dim vPart As Variant
  3. Dim vPrime As Variant
  4. Dim vCellule As Object
  5.  
  6. vSite = Sheets("dlyinveu").[A394]
  7. vPart = Sheets("dlyinveu").[B394]
  8. vPrime = Sheets("Inventory").[A60]
  9.  
  10. For Each vCellule In Sheets("Inventory").[F60]
  11. If vSite = "Athens" And vPart = vPrime Then
  12. Sheets("dlyinveu").[D394].Copy
  13. vCellule.PasteSpecial Paste:=xlValues
  14. Application.CutCopyMode = False
  15. End If
  16. Next
  17.  
  18. End Sub


erreur de novice !!!
Lassé par la pub ? Créez un compte