Extraction de donnée boucle while wend

Résolu/Fermé
Capitaine Trop top Messages postés 25 Date d'inscription lundi 18 février 2013 Statut Membre Dernière intervention 20 mars 2013 - 21 févr. 2013 à 10:42
 Ismailito - 26 févr. 2013 à 10:41
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

ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
21 févr. 2013 à 11:02
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
Capitaine Trop top Messages postés 25 Date d'inscription lundi 18 février 2013 Statut Membre Dernière intervention 20 mars 2013
21 févr. 2013 à 11:03
Bonjour Merci pour ce code qu'est ce que vous me proposer comme solution plus efficace qu'une boucle while
0
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
21 févr. 2013 à 11:15
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
Capitaine Trop top Messages postés 25 Date d'inscription lundi 18 février 2013 Statut Membre Dernière intervention 20 mars 2013
21 févr. 2013 à 11:18
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
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
21 févr. 2013 à 11:22
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Capitaine Trop top Messages postés 25 Date d'inscription lundi 18 février 2013 Statut Membre Dernière intervention 20 mars 2013
21 févr. 2013 à 11:25
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
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
21 févr. 2013 à 11:33
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
Capitaine Trop top Messages postés 25 Date d'inscription lundi 18 février 2013 Statut Membre Dernière intervention 20 mars 2013
21 févr. 2013 à 11:43
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
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
21 févr. 2013 à 16:16
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
Capitaine Trop top Messages postés 25 Date d'inscription lundi 18 février 2013 Statut Membre Dernière intervention 20 mars 2013
21 févr. 2013 à 16:23
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
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
21 févr. 2013 à 16:33
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
Capitaine Trop top Messages postés 25 Date d'inscription lundi 18 février 2013 Statut Membre Dernière intervention 20 mars 2013
21 févr. 2013 à 16:37
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
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
21 févr. 2013 à 16:41
peux tu envoyer un exemplaire de ton fichier avec 4 ou 5 sociétés "mélangées" avec quelques lignes chacune
0
Capitaine Trop top Messages postés 25 Date d'inscription lundi 18 février 2013 Statut Membre Dernière intervention 20 mars 2013
21 févr. 2013 à 16:51
0
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
21 févr. 2013 à 17:16
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
Capitaine Trop top Messages postés 25 Date d'inscription lundi 18 février 2013 Statut Membre Dernière intervention 20 mars 2013
21 févr. 2013 à 17:17
Merci en tout cas tu me sauve la vie Merci bcp
0
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
21 févr. 2013 à 21:53
Une proposition à tester

https://www.cjoint.com/?3Bvv0rNh9nU

bon courage
0
Capitaine Trop top Messages postés 25 Date d'inscription lundi 18 février 2013 Statut Membre Dernière intervention 20 mars 2013
22 févr. 2013 à 10:23
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
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
Modifié par ccm81 le 22/02/2013 à 10:50
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
Capitaine Trop top Messages postés 25 Date d'inscription lundi 18 février 2013 Statut Membre Dernière intervention 20 mars 2013
22 févr. 2013 à 15:17
Merci bcp et pour ta patience et ton temps
0
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
22 févr. 2013 à 15:35
De rien,

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

bonne fin de journée
0