Comment Transfer des donnée a un emplacement a un

Résolu
luky123654 Messages postés 60 Statut Membre -  
luky123654 Messages postés 60 Statut Membre -
Bonjour,
bonjour je voudrais faire pour trier des donner
je voudrais faire la ligne 11 change tous les mois
ligne 10 elle ne change jamais mais les jours vont a d outre emplacement.
comme le ligne 11 - 0 = T00 9 = T09
ex 1 en E10 vas en E7
ex 3 en G10 vas en F7
ex 4 en H10 vas en AL2
ex 2 enb F10 vas en AK2
la ligne 11 elle elle change tous les moi
que on serais faire une VBA
bien a vous
luky https://mon-partage.fr/f/zCLgQ0nN/

6 réponses

Résumé de la discussion

L’objectif est d’automatiser le tri des données par VBA, avec la ligne 11 qui évolue chaque mois tandis que la ligne 10 demeure fixe et les jours se déplaçant vers d’autres emplacements. La solution proposée dans la discussion comprend notamment une réponse qui présente une macro ciblant T09 et AK2, et qui copie les valeurs de la ligne 10 lorsque les conditions sont remplies. Cette proposition de code VBA boucle sur les colonnes 5 à 35 et, si la ligne 11 vaut 9, écrit la valeur de la ligne 10 dans AK2 et déplace la cible d’une colonne.

Bobot (l'IA à votre service)
  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour, as-tu commencé à apprendre le VBA?
    1
    1. luky123654 Messages postés 60 Statut Membre
       
      je connais LE V B A une partie des pour cette formule une ma donner la formule SI il faut pas de V B A
      tu croie que si on cest le faire par V B A?
      0
      1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > luky123654 Messages postés 60 Statut Membre
         
        je pense que tu dois utiliser VBA pour faire ce travail.
        0
  2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    je propose ce code, qui s'occupe uniquement de T09:
    Sub luky9()
    'T09 AK2
    Dim cible As Range
    Dim ncol As Integer
    Dim fl As Worksheet
    Set fl = Sheets("travail")
    Set cible = fl.Cells(2, "ak")
    For ncol = 5 To 35
        If fl.Cells(11, ncol) = 9 Then
            cible.Value = fl.Cells(10, ncol)
            Set cible = cible.Offset(0, 1)
        End If
    Next ncol
    End Sub

    peux-tu le tester?
    1
    1. luky123654 Messages postés 60 Statut Membre
       
      bonjour
      super sa marche bien merci tu vas faire la suite
      tu es sympas
      bien à toi
      luky
      0
    2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > luky123654 Messages postés 60 Statut Membre
       
      je vais faire la suite
      0
    3. luky123654 Messages postés 60 Statut Membre
       
      bonjour
      cool bonne journée et un grand merci
      0
    4. luky123654 Messages postés 60 Statut Membre
       
      j ais vue que si tu enlever les 3 première ligne et tu change les valeur 9 a 10 et tu mais le reste tu c'est tous faire super je teste j ais essayer avec 10 ,9, 8 et sa marche .ces super .
      je vais avec le tien si tu a envie de le faire après j ais une autre question merci .tu ma donner la joie
      bien à toi
      luky
      0
    5. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > luky123654 Messages postés 60 Statut Membre
       
      voilà:
      Sub lukytout()
      Dim fl As Worksheet
      Set fl = Sheets("travail")
      Call luky1(fl, fl.[e2], 10)
      Call luky1(fl, fl.[e3], 8)
      Call luky1(fl, fl.[e4], 6)
      Call luky1(fl, fl.[e5], 4)
      Call luky1(fl, fl.[e6], 2)
      Call luky1(fl, fl.[e7], 0)
      Call luky1(fl, fl.[ak2], 9)
      Call luky1(fl, fl.[ak3], 7)
      Call luky1(fl, fl.[ak4], 5)
      Call luky1(fl, fl.[ak5], 3)
      Call luky1(fl, fl.[ak6], 1)
      End Sub
      Private Sub luky1(feuille As Worksheet, endroit As Range, valeur As Integer)
      Dim ncol As Integer
      For ncol = 5 To 35
          If feuille.Cells(11, ncol) = valeur Then
              endroit.Value = feuille.Cells(10, ncol)
              Set endroit = endroit.Offset(0, 1)
          End If
      Next ncol
      End Sub
      0
  3. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    pourquoi le 1 va-t-il en E7?
    -1
    1. luky123654 Messages postés 60 Statut Membre
       
      parce-que la ligne 11 E es 0 et ue la ligne 10 il y a 1 alorq il dois aller en E7 car 0 = aT00
      0
      1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > luky123654 Messages postés 60 Statut Membre
         
        dans le fichier que tu as envoyé, il y a partout 0 en ligne 11.
        0
  4. luky123654 Messages postés 60 Statut Membre
     
    voila le fichier
    bien a toi luky

    https://mon-partage.fr/f/v1CfXAKh/
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      il y a encore partout 0 en ligne 11, sans doute à cause de la fonction nvert.
      0
    2. luky123654 Messages postés 60 Statut Membre
       
      sur man avec le calcul de couleur des formule
      voila la preliere partie

      https://mon-partage.fr/f/tmdqblFU/
      tu ces faire les deux ??? comme sa tu comprend mieux
      0
      1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > luky123654 Messages postés 60 Statut Membre
         
        maintenant c'est clair, as-tu une idée de comment utiliser vba pour cela?
        pourquoi 29 en E2?
        0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. luky123654 Messages postés 60 Statut Membre
     
    les couleur sa vas mais le problème la ligne 11 es en formule non je ne ces pas
    le 29 ces le seul qui a 10 couleur
    0
    1. luky123654 Messages postés 60 Statut Membre
       
      ces pour un 10 es un exemple car on fait 9 machine par jour
      0
  7. luky123654 Messages postés 60 Statut Membre
     
    super j'ais mis dans les case et sas marche bien merci
    0