Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1621 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Macro Excel

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Macro Excel

n°1904228
sephiroth2​9
Posté le 09-07-2009 à 21:54:30  profilanswer
 

Salut à tous !
 
Je ne comprends rien à rien aux macros et j'ai tenté de faire ce que je voulais mais je n'y arrive pas.
 
En fait le truc est simple : j'ai une colone avec des valeurs sur certaines lignes et rien sur d'autres par exemple :
 
A1 : 1
A2 : 2
A3 : 3
A4 : vide
A5 : 4
A6 : 5
A7 : vide
A8 : vide
 
Ce que je souhaite faire c'est que ma ligne A2 soit égale à ma ligne A1 plus un certain pas (10 par exemple).
Je sais très bien que c'est assez simple à faire mais j'ai une condition particuliere car je veux 'sauter' les lignes vides et faire en sorte qu'une case par exemple A6 soit égale à ma derniere case avec un résultat + mon pas :
 
A1 : 1
A2 : 11
A3 : 21
A4 : vide
A5 : 31
A6 : 41
A7 : vide
A8 : vide
 
Si c'est possible de ne pas utiliser de macro je serai le plus heureux !

mood
Publicité
Posté le 09-07-2009 à 21:54:30  profilanswer
 

n°1904304
Ptit loup
Quand c'est flou, y'a un loup
Posté le 10-07-2009 à 10:15:02  profilanswer
 

il faut que tu passes par une colonne intermédiaire supplémentaire (ensuite, après un copiage/collage des valeurs, tu pourras supprimer ta colonne devenue inutile (vu que je suppose qu'elle ne l'est plus ?)
 
il faut dans ta colonne B, que tu lui indiques de prendre la valeur du dessus + 10, en conditionnant cette addition au fait que la cellule juste à gauche soit valorisée.
 
 
Je vois pas trop l'intérêt de la chose sinon... je vais faire mon chieur habituel, mais pourrais tu exprimer ton besoin précis, non sorti de son contexte...
Et pourquoi a-t-on ces lignes vides ?
Pourquoi les valeurs au début sont 1, 2, 3, 4, 5, quel est l'intérêt du coup si tu veux les transformer avec un certain "pas"... et pourquoi ensuite avoir des valeurs séparées d'un certain pas ?
Bref.... voilà pour vraiment répondre à ton besoin (et pas juste la question que tu poses), il faut tout exprimer.

n°1904456
sephiroth2​9
Posté le 10-07-2009 à 16:08:26  profilanswer
 

OK je vais tout expliquer en détail alors.  
En fait j'ai une premiere feuille contenant un tableau avec x lignes du genre :
 
A (Libelle)                          B(cout)
Installation chambre             20
cable                                 10
inter                                  5
bp                                     5
vide
vide
Installation chambre 2           50
luminaire                             30
cable                                 20
...
 
En gros sur cette feuille j'ai toute une liste de taches (ex: Installation chambre) avec le détail en dessous de chacune.
Pour préciser, il y a un pas de 10 lignes entre chaque installation pour pouvoir mettre les détails (dans cet exemple 5) avec certains champs qui restent vide si il n'y a pas de détail.
 
Sur ma feuille 2 (sur laquelle je veux implanter ma formule),seule feuille montrée à mon client, je veux avoir un récapitulatif automatique (sans avoir à faire de copier coller de la feuille 1).
Donc sur cette feuille, après avoir entré la première ligne, je veux faire en sorte qu'à une ligne x je récupère la dernière références vers ma feuille1 et je lui ajoute le pas (10 normalement, 5 pour l'exemple) et ensuite tirer la formule :
A                                    B
=feuille1!A1                      =feuille1!B1
vide(espacement obligatoire selon le souhait du client)
=feuille1!A(1+5(pas))         =feuille1!B(1+5(pas))
vide
=feuille1!A(1+5(pas)+5)         =feuille1!B(1+5(pas)+5)
......
 
Ce qui me donnera :  
Installation chambre            25
vide  
Installation chambre 2         50
....
 
Bien évidemment j'ai simplifier l'exemple car ma feuille 1 peut contenir plus de 1000 installations c'est pour cela que je n'ai pas envi sur ma feuille 2 d'avoir à entrer les références vers la feuille 1 du genre '=feuille1!A2' etc....
 
Voila j'ai tout expliqué si ya besoin de réexplication dit moi ce que j'explique mal :)

n°1904467
Ptit loup
Quand c'est flou, y'a un loup
Posté le 10-07-2009 à 16:46:48  profilanswer
 

Plusieurs trucs à voir...
 
Le plus simple, c'est que tu écrives tes 4 premières lignes (dont les 2 vides)
et ensuite, tu étires ta formule... ça va se faire tout seul du coup.
 
Si ton modèle est vraiment figé, ça ne va pas poser de souci (par contre, c'est pas ultra évolutif)
 
Une autre solution, consiste à ne pas avoir tes lignes vides... si tu veux vraiment un rendu avec des blancs entre chaque ligne, tu peux toujours augmenter la hauteur des lignes et faire un alignement vertical du texte en haut...

n°1904664
seniorpapo​u
Posté le 12-07-2009 à 09:53:58  profilanswer
 

Bonjour,
 
En A2:
 
=SI(1-MOD(LIGNE();2);SI(DECALER(Feuil1!$A$1;(LIGNE()-2)/2*6;0)<>0;DECALER(Feuil1!$A$1;(LIGNE()-2)/2*6;0);"" );"" )
 
En B2:
 
=SI(1-MOD(LIGNE();2);SI(DECALER(Feuil1!$A$1;(LIGNE()-2)/2*6;1)<>0;DECALER(Feuil1!$A$1;(LIGNE()-2)/2*6;1);"" );"" )
 
et tu "étires"
 
Le 6 étant le PAS dont tu parles, et qu'il serait plus agréable de trouver dans un cellule, quelque part.
 
Cordialement


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Macro Excel

 

Sujets relatifs
Macro excel 2007 remplir tableau recapAddition toute bête en VBA (Macro Excel)
Détecter l'affichage d'une MsgBox dans une macro excel[Resolu] [VBA] Macro Excel - Zone de texte
lenteur macro excelProblème lors de l'exécution d'une Macro Excel
Création macro pour un fichier Excel de 600p et 13000 lignesmacro avec VBA sur Word et Excel
VBA excel arreter macro via boutongestion de fichiers excel à l'aide d'une macro spécifique
Plus de sujets relatifs à : Macro Excel


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR