begin process at 2012 02 15 04:59:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Divers

 > 

Débutants

 > 

boucle


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

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&#8217;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&#8217;ai renommé mes cellules et j&#8217;ai maintenant la même erreur que toi.

Et si tu te servais de l&#8217;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 ]


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,544 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales