Extraction de donnée boucle while wend

Résolu
Bonjour,

Je voudrais savoir comment faire pour utiliser la boucle while wend pour extraire des données d'une feuille à une autre de manière itérative ( que les résultats ne s'écrase pas sur les premiers )
Merci Cordialement

21 réponses

  1. Bonjour

    Si tu veux a tout prix une boucle while

    Option Explicit
    
    ' feuille source
    Const FS = "Feuil1"
    Const lidebFS = 1
    Const codebFS = "A"
    Const cofinFS = "B"
    ' feuille but
    Const FB = "Feuil2"
    Const lidebFB = 1
    Const codebFB = "A"
    
    Private Sub CommandButton1_Click()
    Dim lifinFS As Long, liFS As Long, plageFS As Range
    Dim lifinFB As Long, liFB As Long
    Application.ScreenUpdating = False
    lifinFS = Sheets(FS).Range(codebFS & Rows.Count).End(xlUp).Row
    liFS = lidebFS
    liFB = lidebFB
    While liFS < lifinFS
      Set plageFS = Sheets(FS).Range(codebFS & liFS & ":" & cofinFS & liFS)
      plageFS.Copy Sheets(FB).Range(codebFB & liFB)
      liFS = liFS + 1
      liFB = liFB + 1
    Wend
    Application.ScreenUpdating = True
    End Sub

    RQ. il y a plus efficace qu'une boucle while

    Bonne journée
    1
    1. Bonjour Merci pour ce code qu'est ce que vous me proposer comme solution plus efficace qu'une boucle while
      0
  2. Une copie "en bloc " de la plage à copier

    Option Explicit
    
    ' feuille source
    Const FS = "Feuil1"
    Const lidebFS = 1
    Const codebFS = "A"
    Const cofinFS = "B"
    ' feuille but
    Const FB = "Feuil2"
    Const lidebFB = 1
    Const codebFB = "A"
    
    Private Sub CommandButton1_Click()
    Dim lifinFS As Long, plageFS As Range
    Dim lifinFB As Long
    lifinFS = Sheets(FS).Range(codebFS & Rows.Count).End(xlUp).Row
    Set plageFS = Sheets(FS).Range(codebFS & lidebFS & ":" & cofinFS & lifinFS)
    plageFS.Copy Sheets(FB).Range(codebFB & lidebFB)
    End Sub
    0
    1. Pour être plus exact j'ai besoin d'extraire des données d'une feuille à une autre genre 5 données mais dès que je rentre le nom de la société dans la feuille but excel cherche toutes les opérations de cette société pour les importer de la feuille source
      0
      1. J'avoue ne pas comprendre ta demande.
        Peux tu mettre une partie significative de ton fichier au format exce2003l sur cjoint.com et joindre le lien obtenu à ton prochain message.
        N'oublies pas d'y expliquer ce que tu veux faire, à partir de quoi, et de donner une/des exemples
        0
        1. Je suis au bureau et le serveur proxy ne permet pas d'inclure des fichiers sur cjoint.com mais ce qu'il y a j'ai un fichier excel avec 2 feuille une feuille client et une feuillle pour calcul chaque client a des opérations en son nom avec des montant et tout je voudrais que sur la feuille calcul dès que j'écris le nom de la société dans la case société il aille me chercher ces données de la 2eme afin que j'effectue des calculs
          Merci ( envoie moi ton adresse mail par message privé comme je peux t'envoyer le fichier excel)
          0
          1. Désolé

            1. je ne tiens pas à mettre ici mon adresse mail
            2. sans une idée de la façon dont est organisé le fichier, je ne peux pas t'aider

            Bonne journée
            0
            1. https://www.cjoint.com/?0BvlPbqnUve
              voilà le liens vers le fichier , je dois extraire les données en jaunes depuis la feuille terme 2013 vers la feuille change juste en rentrer le nom de l'entreprise en question de la cellule B2
              0
              1. Quelques questions

                Q1. Les "données en jaune" de la feuille Terme 2013 correspondent aux champs
                Trade Date
                Currency Pair Short Name
                Amount/Cur1
                CV MAD
                Maturity Date
                Ces champs ne figurent pas dans la feuille BMCE CHANGE
                Que doit on en faire? Où doit on les copier

                Q2. Quand on entre Toyota par exemple en B2, doit on envoyer dans la feuille TOUTES les lignes où Toyota figure dans la feuille BMCE CHANGE?

                Q3. Dans la feuille Terme 2013, colonne B, y aura t'il plusieurs "Société" ? avec pour chacune les données provenant de la feuille BMCE CHANGE

                Q4.Dans la feuille BMCE CHANGE? il y a des champs en "jaune" colonnes K, L, M. Sont ils concernés par ta demande, si oui comment?
                0
                1. Q1 : Trade Date correspond à Deal Date
                  Currency Pair shot name correspond à devise
                  Amount/cur1 correspond à foreign
                  CV MAD correspond à MAD
                  Maturity Date correspond à échéance

                  Q2 : oui toutes les lignes où toyota figure dans la feuille Terme 2013

                  Q3 : oui il y a énormément de société j'ai juste mis l'exemple de 2 société

                  Q4 : non les champs en jaune K L M ne sont pas concernés
                  0
                  1. Q5. Est ce que la feuille BMCE CHANGE est triée selon la colonne Société, en bref est ce que les toutes les "Toyota" par exemple sont regroupées en une seule plage comme sur ton exemple

                    Q6. Est ce que veux faire le transfert pour TOUTES les sociétés de la feuille BMCE CHANGE en une seule commande ou bien tu veux faire ce transfert société par société via la colonne B

                    Q7. Est ce qu'une fois le transfert effectué, le classeur peut subir des modifications?
                    0
                    1. Q5 : non tu veux parler de la feuille Terme 2013 elle est pas trié c'est juste dans mon exemple il peut y avoir toyota à la ligne 1 puis une autre a la ligne 25 par exemple

                      Q6 : un transfert société par société via la colone B ( genre en écrivant le nom de la société que tu veux lui il fait le transfert )

                      Q7: oui il subit des modifications sauf pour la feuille terme 2013 elle reste intact
                      0
                      1. peux tu envoyer un exemplaire de ton fichier avec 4 ou 5 sociétés "mélangées" avec quelques lignes chacune
                        0
                        1. bon, ça ne sera pas pour tout de suite ......

                          RQ. C'est une bonne idée de "normaliser" les noms des champs de la feuille BMCE CHANGE, mais tu aurais pu me le dire .....
                          0
                          1. Merci en tout cas tu me sauve la vie Merci bcp
                            0
                            1. Bonjour Merci bcp ça marche nickel est ce que c'est possible de rajouter une petite condition si le montant Amount/cur1 ( Colonne C feuille Terme 2013 ) il m'affiche dans la cellule Sens ( colonne F feuille Change ) Import sinon si c'est positif il m'affiche export
                              Merci bcp Cordialement
                              0
                              1. Il faudrait faire un petit effort !!!

                                1. ajouter à la liste des constantes
                                Public Const coFB_Sens = "F"
                                2. Ajouter à la suite des instructions de transert
                                    If Sheets(FS).Range(coFS_AC1 & liFS) < 0 Then 
                                      Sheets(FB).Range(coFB_Sens & liFB) = "Import" 
                                    Else 
                                      Sheets(FB).Range(coFB_Sens & liFB) = "Export" 
                                    End If

                                bonne journée
                                0
                                1. Merci bcp et pour ta patience et ton temps
                                  0
                                  1. De rien,

                                    peux tu mettre le problème à résolu (en haut de ton premier message)

                                    bonne fin de journée
                                    0
                                    • 1
                                    • 2