Accueil > Forum > > > > boucle
boucle
samedi 20 septembre 2008 à 18:31:33 |
boucle

fne67
|
J'ai des cases que j'ai nommées de M12HC à M80HC j'aimerai boucler sur ce tableau et de récupérer la valeur inscrite dans la case et de l'inscrire dans un autre tableau qui ce trouve sur une autre feuille que j'ai activée quand je lance cette manip. Jusqu'à maintenant je fais contrôle case par case cela fonctionne, je pensais réduir le nombre de contrôle par une boucle mais je bute et ne comprend pas pourquoi ! J'ai un message erreur d'exécution 1004 erreur définie par l'application ou par l'objet sur la boucle ci-dessous dim p as integer For p = 12 To 80 Range("m" & p & "hc").value = ThisWorkbook.Sheets("feuille de calcul prix de vente").Range("m" & p & "h").value Next p Merci de vos conseils
|
|
samedi 20 septembre 2008 à 23:40:09 |
Re : boucle

DblK
|
Bonjour,
Je suis pas sûr pour ton erreur mais dans une fonction "Range", il me semble qu'il faut mettre les ":". Donc écrit plutôt quelque chose comme : Range("m" & p & ":hc")
cela devrait marcher. Ou alors utilise les "Cells".
DblK
|
|
dimanche 21 septembre 2008 à 00:39:24 |
Re : boucle

shadowmosses
|
Bonsoir Messieurs, je ne suis pas vraiment Ok avec dblk en ce qui concerne les « : »
Pour ma part je ferais :
ActiveSheet.Range("m" &p& "hc")
Tes cellules se nomme " MxxHC " avec les deux petits points cela reviendrais
a faire " Mxx:HC " et en ce qui concerne " Activesheet.range "
il m’est nécessaire pour le bon fonctionnement de mes codes , cela dépend de la version XLS.
Apres je ne suis qu’un débutant.
Sur ceux Messieurs, je vous souhaite a tous de très bonne programmation.
|
|
dimanche 21 septembre 2008 à 06:49:44 |
Re : boucle

fne67
|
Merci de vos réponses mais malheureusement cela ne fonctionne pas. Le fait d'accoler << &p& >> donne une erreur de compilation Le fait de mettre << : >> avant le h ou de remplacer "range" par "cells" donne la même erreur Je continu mes efforts et espères trouver Cool de de répondre encore merci a+
|
|
dimanche 21 septembre 2008 à 11:32:25 |
Re : boucle

DblK
|
Bonjour,
Après quelques test à mon Excel, j'ai résolu le problème de l'erreur 1004. Le fait est que dans excel, enfin ma version, aucune cellule ne correspond à M12HC. J'ai parlé des ":" car je pensais que tu voulais sélectionner plusieurs cellule d'un coup, mais à priori vu ta boucle, ce n'est pas ça. Ainsi si je supprime HC dans ta boucle, le programme veut bien aller de M12 à M80.
Si ce n'est pas ça, merci de donner plus d'informations sur ce fameux "HC". Pour moi il ne doit pas y être car les lettres sont utilisés pour les colonnes et les chiffres pour les lignes, alors dans M12HC il y a un problème et c'est d'ailleurs pourquoi la méthode RANGE plante et affiche l'erreur 1004.
Merci pour tes précisions.
DblK
|
|
dimanche 21 septembre 2008 à 12:03:00 |
Re : boucle

shadowmosses
|
Bonjour,
En faite fne67 a renommé toutes ses cellules
Au lieu d’avoir « A1 » il a maintenant « M12HC »
Mais en se qui concerne le fait d'accoler << &p& >> est une faute de frappe de ma part, désoler fne67 mais le problème demeure toujours.
J’ai renommé mes cellules et j’ai maintenant la même erreur que toi.
Et si tu te servais de l’offset de la cellule ?
For n = 0 To 68
ActiveSheet.Range("M12HC").Offset(n, 0).Value = ThisWorkbook.Sheets("feuille de calcul prix de vente").Range("M12HC").Offset(n, 0).Value
DoEvents
Next n
Comme cela je n'ai plus d'erreur.
Tu nous tiens au courant fn67.
|
|
dimanche 21 septembre 2008 à 19:49:20 |
Re : boucle

fne67
|
Bonjour , avec ce code For n = 0 To 68 ActiveSheet.Range("M12_HC").Offset(n, 0).Value = ThisWorkbook.Sheets("feuille de calcul prix de vente").Range("M12_H").Offset(n, 0).Value DoEvents Next n cela fonctionne en fait ce que je recherche à faire est une boucle sur un tableau de 4 ligne et de 4 colonne la case M12 étant le point de départ, je recherche les cases non vides et les inscrits dans la base de données ( H =haut dans la feuille de calcul (thisworkbook) et HC= haut de la feuille "base de données" ). car il faudra faire de même avec le coté droit"D" gauche"G" et bas "B" cela fait beaucoup de données à gérer de 12 jusqu'à 80 pour les 4 cotés d'un coffret. ce que j'ai fais et ça prend pas mal de ligne d'instruction alors je me suis lancé dans les boucles. Je pense que vous avez plus d'expérience dans ce domaine. Merci de consacrer autant de temps pour mon problème. a+
|
|
dimanche 21 septembre 2008 à 21:53:28 |
Re : boucle

shadowmosses
|
Réponse acceptée !
Bonsoir Fne67, je voulais savoir si tu pouvais faire un Zip de ta feuille pour avoir une idee concrete de ton tableau et de la maniere dont tu a renomme tes cellules ?
La sincèrement sans ton tableau sous les yeux, je patauge …
Si ton tableau comporte 4 lignes & 4 colonnes juxtaposees ont peux faire une boucle avec l’offset et deux variable n & b par exemple Et y insérer une condition .
Dim n, b, j As Variant
j = 0
n = 0
b = 0
While j = 0
Range("M12HC").Offset(n, b).Select
If Range("M12HC").Offset(n, b).Value <> "" Then
Range("M12HC").Offset(n, b).Value = _
ThisWorkbook.Sheets("feuille de calcul prix de vente").Range("M12HC").Offset(n, b).Value
End If
DoEvents
n = n + 1
If n = 4 Then
n = 0
b = b + 1
End If
If b = 4 Then j = 1
Wend
|
|
lundi 22 septembre 2008 à 05:56:26 |
Re : boucle

fne67
|
Dim n, b, p As Variant
Sheets("Feuille de calcul").Select Range("m12_hc:m80_gc").Select Selection.ClearContents
p = 0 n = 0 b = 0
While p = 0
Range("M12_HC").Select
If Range("M12_HC").Offset(n, b).value = "" Then Range("M12_HC").Offset(n, b).value = _ ThisWorkbook.Sheets("feuille de calcul prix de vente").Range("M12H").Offset(n, b).value End If
DoEvents
n = n + 1
If n = 4 Then n = 0 b = b + 1 End If
If b = 4 Then p = 1
Wend
Ecrit de cette façon ça marche très bien , merci beaucoup pour vos aides shadowmosses et Dblk vraiement simpas d'avoir passé du temps pour mon problème a+
|
|
Cette discussion est classée dans : boucle, contrôle, tableau, case, feuille
Répondre à ce message
Sujets en rapport avec ce message
sauter un indice (de tableau) dans une boucle [ par Daydayer ]
je manipule des cases de tableau d'indice n que je fais défiler avec une boucle for.il peut arriver qu'une case du tableau ne soit pas 'exploitable'.
taille d'un tableau [ par diablosv ]
bonjourcomment fait on pour connaitre le nombre de case dans un tableau apres une fonction splitfamilles = split(chaine,car)nb de case ds familles ???
Atteindre un contrôle d'une autre feuille [ par mfritsch ]
Bonjour,Voici mon pb en vb.net:J'ai deux feuilles, appelées Feuille1 et Feuille2. Feuille2 a un contrôle Label1. Comment puis je faire pour, à partir
Probleme pour faire un tableau de shape [ par idealyo ]
Voila j'aimerai faire une sorte de tableau 2d avec des composants. J'ai donc créer un composant sur ma form et j'aimerai en générai d'autres à partir
Redimenssionner un contrôle OLE [ par OrionMelancholy ]
Voila mon problème, j'ai crée un contrôle OLE afin d'afficher un tableau Excel déja éxistant, j'aimerai que la taille du composant OLE se calque sur l
Utiliser une feuille excel sur un formulaire [ par solar01 ]
Quelqu'un sait comment est ce qu'il est possible d'utiliser une feuille excel dans un formulaire vb ??En fait, je dis une feuille excel mais un simple
Tabulation et SSTab [ par zephyrin ]
Bonjour,j'ai un problème avec le contrôle SSTab.J'ai 3 onglets sur ma feuille, quand je clique sur 'TAB' et que j'arrive sur le dernier contrôle de l'
excel boucle vb [ par zertion ]
Salut à tous!!voilà j'explique:je suis débutant complet en Vb, j'ai un tableau excel avec des formules (jusque là rien d'extraordinaire...) mais ce ta
tableau de byte [ par nuns ]
Bonjour je voudrais savoir pour quoi sa ne marche quand je fait sa , j'ai tableau dinamique, avec des lettre dedand, mais pas toute les case sont
tableau et case à cocher [ par nightoy ]
Livres en rapport
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|