Aide pour une Macro sous Excel

Résolu
youchlure Messages postés 84 Date d'inscription   Statut Membre Dernière intervention   -  
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,


Voila j'ai un fichier sous la forme de chiffres sur une seule colonne avec 47936 lignes.
Ce fichier représente un MNT altitude sur une carte qui est composé de 214 colonnes et de 224 lignes ( 224 * 214 =47936 )

Je souhaite créér une seconde colonne qui contiendrait des numéros de 1 à n (rectangles).
Je veux créer des rectangles sur la carte de 20 * 10 cellules

Du coup je me retrouverais avec un fichier de la sorte :

   
     Altitude	Rectangle
1	x1	1
2	...	1
3		1
4		2
5		2
6		2
7		3
8		3
9		3
10		1
11		1
12		1
13		2
14		2
15		2
16		3
17		3
18		3
19		1
20		1
21		1
22		2
23		2
24		2
25		3
26		3
27	xn	3


J'espère me faire comprendre en montrant un exemple raccourci de mon modèle.
Ici ma carte ne fait que 27 cellules avec 3 lignes et 9 colonnes.

Donc ici on a sur la colonne 1 27 cellules
colonne 2 l'altitude correspondante
colonne 3 identifiant du rectangle créé

Graphiquement j'obtiens donc ça :

111222333
111222333
111222333

Au final j'ai donc trois nouveaux rectangles : 1, 2 et 3

Par contre un dernier détail si jamais l'altitude est = 0 alors je ne veux pas lui affecter une valeur de rectangle mais plutot l'argument NULL.

Merci beaucoup pour votre aide !

Bonne journée :)
A voir également:

14 réponses

ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
bonjour

j'ai du mal à voir ce que tu veux exactement

ce que j'ai compris (Je veux créer des rectangles sur la carte de 20 * 10 cellules )

A partir de ta colonne 3 (Rectangle) tu veux
- prendre les 10 premières lignes et concaténer ça dans la colonne 4 ligne 1
- prendre les 10 suivants et concaténer ça dans la colonne 4 ligne 2
- etc..
et ça 20 fois jusqu'à colonne 4 ligne 20

ce qui ne fait que 200 cellules de la colonne 3 traitées

Q1. et ensuite ?
Q2. comment interviennent les colonnes 1 et 2?
Q3. si jamais l'altitude est = 0 alors je ne veux pas lui affecter une valeur de rectangle mais plutot l'argument NULL. ???

bonne suite
0
youchlure Messages postés 84 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour,

en fait à la base je n'ai que 2 colonnes une représentant le nombre de cellules donc ici de 1 à 47936 et sur la deuxième colonne l'altitude correspondante.
(Graphiquement cela représente un carré de 224*214 = 47936 cellules)
Je veux simplement créer une troisième colonne.

Celle ci comprendra des chiffres de 1 à N.

Ces chiffres correspondent à des " rectangles" que je souhaite créer.
Pour cela il faudrait à chaque fois qu'une altitude est différente de 0, on créé sur la troisième colonne un identifiant rectangle donc 1 pour commencer.

Je voudrais que ces rectangles fassent 10*5 donc qu'il y ait 50 cellules qui soit identifiant 1 dans la troisième colonne !
Puis on continue comme ça tant qu'il y a des cellules.

Je vous explique plus clairement par un exemple :

Ici j'ai un carré de 3 lignes avec 10 colonnes.
Je cherche à faire des "rectangles" de 2*2.

On peut voir la création du rectangle 1 2 et 3 puis une fois fini, on commence la création du carré 4 5 et 6 et etc...si on avait plus de lignes.


Altitude delimitation
0 null
0 null
0 null
24 1
21 1
28 2
45 2
34 3
0
0

0
0
0
35 1
23 1
23 2
33 2
12 3
0
0

0
0
34 4
33 4
55 5
43 5
22 6
22 6
0
0

etc........

Donc comme on peut voir on créé une troisième colonne avec :

quand alt=0 rectangle = null

J'espère avoir mieux expliqué!
0
youchlure Messages postés 84 Date d'inscription   Statut Membre Dernière intervention   1
 
je vous poste un lien avec une image de ce que je souhaite...je me suis dit que ce serait le plus simple pour vous faire comprendre.

Vous verrez ce sont deux cartes superposé, une première avec l'altitude et une seconde avec les rectangles délimités...

bonne journée

https://www.hiboox.fr/
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
bonjour

je ne vois toujours pas quel est exactement ton problème
peux tu envoyer le début de ton fichier, un millier de lignes (au format excel 2003) sur cjoint.com avec un exemple de ce que tu veux obtenir et quelques éclaircissements

bonne suite
0
youchlure Messages postés 84 Date d'inscription   Statut Membre Dernière intervention   1
 
ok voila : http://www.cijoint.fr/cjlink.php?file=cj201110/cijzB9tXZz.xlsx

sur ce fichier c'est un exemple que j'ai récupéré.

A la base je n'ai que la premiere colonne et je souhaite faire cette deuxieme colonne, qui met des identifiants sur les cellules qui ont une latitude.

Au final on obtient des carrés comme vous pouvez le voir sur le lien du post présédent.

merci
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour,

Je crois que tu devrais ajouter une autre feuille avec tes n° mis en place en rectangle et en encadrant ceux qui forment un rectangle délimité (avec son n° mis dans un objet texte par dessus)
On ne sait toujours pas le sens de lecture (horizontal ou vertical) que ce soit pour tes cellules ou pour tes rectangles.
eric
0
youchlure Messages postés 84 Date d'inscription   Statut Membre Dernière intervention   1
 
alors en fait mon fichier excel se présente sou la forme d'une colonne mais graphiquement comme tu peux le voir cela se transforme en ligne et cela va à la ligne tous les 224 cellules
Je t'avoue ne pas bien comprendre ce que tu me demandes...
0

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

Posez votre question
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
je t'ai demande un fichier au format excel 2003, je ne peux pas lire le tien
0
youchlure Messages postés 84 Date d'inscription   Statut Membre Dernière intervention   1
 
pardon, le voici http://www.cijoint.fr/cjlink.php?file=cj201110/cijf2hdvcg.xls
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
un exemple de ce qu'il faudrait pour éclaircir ta demande :
http://www.cijoint.fr/cjlink.php?file=cj201110/cijaWoImCX.xls
eric
0
youchlure Messages postés 84 Date d'inscription   Statut Membre Dernière intervention   1
 
oui, voila c'est exactement ça que je cherche à faire...
Sauf que toutes les cellules sont sur une meme colonne comme indiqué auparavant et que lorsqu'une altitude = 0, je ne veux pas que la cellule ai un identifiant.

Je pourrai éventuellement joindre un autre exemple mais je ne comprends pas ce que ça apporterai en plus???
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
J'ai mis au hasard la lecture des cellules en vertical et celle des rectangles en horizontal.
Ca pourrait être tout autre chose et le résultat différent...
C'est quand même à toi de préciser ce que tu veux !
Donc confirme si c'est bien ça
0
youchlure Messages postés 84 Date d'inscription   Statut Membre Dernière intervention   1
 
voici ce que je souhaiterai...
http://www.cijoint.fr/cjlink.php?file=cj201110/cijVZ8hqaj.xls

en sachant qu'ici on fait l'hypothèse que les altitudes sont toutes différentes de 0, alors que j'aimerais que si une altitude = 0 on ne lui attribut pas d'identifiant"carré"
0
youchlure Messages postés 84 Date d'inscription   Statut Membre Dernière intervention   1
 
voila un autre exemple plus rapprochant de mon cas désiré...

http://www.cijoint.fr/cjlink.php?file=cj201110/cijSFLyWP7.xls

ici je créer des carrés de 3 sur 3. Mais si présence en bordure, alors on va a la ligne et donc on ne complète pas le carré.
Au final on aura pas des carrés forcement de la même taille, cela dépendra des bordures et de la présence des altitudes 0.

MErci !
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonsoir,

Au final on aura pas des carrés forcement de la même taille
Si tu veux bien on va rester sur la demande initiale et oublier toute idée d'irrégularité (excel n'est pas devin)

Une proposition :
Tu dois saisir les dimensions horizontales et verticales des rectangles délimités, ainsi que le nombre de rectangles délimités sur une ligne.
https://www.cjoint.com/?AJrwTGF6LyW
Je te laisse contrôler sur différents exemples

eric
0
youchlure Messages postés 84 Date d'inscription   Statut Membre Dernière intervention   1
 
bonjour,

étant donné que ma carte fait 214 cellules sur une ligne sur 224 cellules par colonnes,

je souhaite donc créer 20 rectangles(10 colonnes) toutes les 10 lignes

En fait il restera donc 14 cellules en bout de chaque lignes et 4 colonnes ou aucun rectangle ne sera créer...

il me semble que tu préférai faire comme ça pour éviter l'irrégularité?
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour,

il me semble que tu préférai faire comme ça pour éviter l'irrégularité?

Ben non, je préférais une vraie régularité avec des carrés pleins et que ce soit fini... ;-)

http://www.cijoint.fr/cjlink.php?file=cj201110/cijDpGCYWs.xls
Par contre je compte le dernier rectangle incomplet.
Si ça gène vraiment il faudra modifier la formule...

eric
0
youchlure Messages postés 84 Date d'inscription   Statut Membre Dernière intervention   1
 
non au contraire!

Par contre je ne comprends pas vraiment ton exemple...

comme je te l'ai indiqué j'ai beaucoup plus de ligne et de colonnes.
En tout j'ai 47936 cellules contre 90 dans ton exemple...
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
J'ai fait pour que ce soit évolutif, tu changeais à chaque fois les dimensions, donc adapte à tes besoin...

Dans les cellules vertes tu mets les bonnes valeurs :
dim h rect : dim horizontale d'un rectangle (10 ?)
dim v rect : dim verticale d'un rectangle (10 ou 20 ?)
nb cell h : nombre de cellules par ligne (214 ?)

Teste bien et dis...
eric
0
youchlure Messages postés 84 Date d'inscription   Statut Membre Dernière intervention   1
 
ok, pardon :)
je teste et je reviens
0
youchlure Messages postés 84 Date d'inscription   Statut Membre Dernière intervention   1
 
Alors je viens de tester mais rien ne se passe...

Je te laisse mon exemple final

http://www.cijoint.fr/cjlink.php?file=cj201110/cijJwpEsHg.xls

Merci :)
0
youchlure Messages postés 84 Date d'inscription   Statut Membre Dernière intervention   1
 
j'ai parlé trop vite je crois...je reteste encore ! :)
0
youchlure Messages postés 84 Date d'inscription   Statut Membre Dernière intervention   1
 
Parfait tout marche :)

Merci beaucoup pour ton aide!!!
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
ok, bonne continuation :-)
0