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

 

 

 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  17  18  19  ..  112  113  114  115  116  117
Auteur Sujet :

[Topic Unique] Excel : Keep calm and Pivot Table !

n°2864663
FabM56
Posté le 28-05-2009 à 13:13:49  profilanswer
 

Reprise du message précédent :

SuppotDeSaTante a écrit :

Je dirais, si tu nous donnes un exemple concret de ce que tu souhaites faire, genre :
- En A2 je saisi 10 en B2 je saisi 0.5 (correspondant a tes valeurs d'acceleration)
- En A3 je saisi 20 en B3 je saisi 1 (correspondant a tes valeurs de vitesse constante)
- etc.
- Il faut que ca me sorte ce tableau (avec un exemple de ton tableau resultant)

 

On pourra bien t'aiguiller, t'avancer dans le programme, et cerise sur le McDo expliquer le code VBA qui sert a créer le tableau.

 

Cordialement

 

Je reviens à la charge, j'étais passé à autre chose entre temps...

 

Je repète donc: J'aimerais obtenir un tableau de valeurs vitesse/temps, à partir de phases définies comme ça:

 

1) Une durée
2) Un pas de temps
3) Une vitesse de début
4) Une vitesse de fin

 

L'accélération, ainsi que le nombre de lignes nécessaires dans le tableau voulu (durée/pas de temps), sont déduits simplement.

 

J'ai bricolé un exemple, pour -j'espère- clarifier les choses.

 

Alors voilà le tableau d'entrée (En quelque sorte):

 

http://img29.imageshack.us/img29/4272/tableauentre.jpg

 

Et en sortie j'aimerais obtenir un tableau de ce genre, qui se crée tout seul, oui tout seul, c'est ça le truc!!!

 

http://img34.imageshack.us/img34/5 [...] sortie.jpg

 


Et sinon!!

 

Rien à voir, mais est il possible à partir d'une courbe sous Excel d'obtenir les valeurs pour chaque point de cette courbe?

 

En fait, j'ai une courbe extrapolée à partir de quelques points, et maintenant j'aimerais l'exploiter quoi...


Message édité par FabM56 le 28-05-2009 à 14:05:51
mood
Publicité
Posté le 28-05-2009 à 13:13:49  profilanswer
 

n°2864678
Loom the G​loom
Even coders get the blues...
Posté le 28-05-2009 à 13:37:51  profilanswer
 

Hello
Je dispose d'un tableau avec entre autres, une colonne contenant des dates (1 par ligne, exemple : "14/05/09" "15/05/09" etc...) et une autre colonne contenant des montants (exemple : 15 €, 76 € etc...)
 
J'aimerai réaliser un graphique qui m'indiquerait la courbe des dépenses mensuelles. Pourriez vous m'indiquer comment faire ? (j'imagine que ce n'est pas possible sans des calculs intermédiaires mais on sait jamais).
Merci.


---------------
Music|Market|Feed|Loom|DVD
n°2864728
doper
Posté le 28-05-2009 à 16:23:02  profilanswer
 

Bonjour,
 
Je dois faire la somme de plusieurs cellules (exemple somme(A1:A20) ) dans la cellule B2 mais je veux que dans cette cellule B2 (ou dans une autr peu importe) je puisse avoir le détail du calcul =12+5+9+6+3....
 
QUelqu'un a une idiée ?
 
Merci d'avance.

n°2864733
Ptit loup
Quand c'est flou, y'a un loup
Posté le 28-05-2009 à 16:35:44  profilanswer
 

pas possible à ma connaissance....

n°2864735
doper
Posté le 28-05-2009 à 16:39:20  profilanswer
 

ou tout simplement pouvoir regrouper dans une seule cellule plusiuer autre en concervant les signes + ou - :/


Message édité par doper le 28-05-2009 à 16:39:29
n°2864736
Ptit loup
Quand c'est flou, y'a un loup
Posté le 28-05-2009 à 16:43:53  profilanswer
 

pour ça, il faut que tu indiques une apostrophe en début de cellule pour qu'il prenne ça comme du texte

n°2864738
Ptit loup
Quand c'est flou, y'a un loup
Posté le 28-05-2009 à 16:46:28  profilanswer
 

tu peux basculer sur l'affichage du type
=A1+A2+A3
par exemple (option d'affichage valeur/formule je sais plus où)

n°2864739
doper
Posté le 28-05-2009 à 16:50:14  profilanswer
 

mais je les tape pas justement les cellules.
 
Il me faut le détail du calcule avec les nombre dedans.
 
En gros j'ai sur une colone 500 cellules avec un nombre dedans et l'on me demande de regouper ces cellules dans une seule ou j'aurai 2+9+6+3+4+8... correspondant à la colone.
 
Si c'est pas possible, je le ferai à la main :D


Message édité par doper le 28-05-2009 à 16:50:58
n°2864755
Ptit loup
Quand c'est flou, y'a un loup
Posté le 28-05-2009 à 17:28:15  profilanswer
 

eh bien... macro !

n°2864757
Loom the G​loom
Even coders get the blues...
Posté le 28-05-2009 à 17:30:38  profilanswer
 

et moi et moi ? :D


---------------
Music|Market|Feed|Loom|DVD
mood
Publicité
Posté le 28-05-2009 à 17:30:38  profilanswer
 

n°2864759
Ptit loup
Quand c'est flou, y'a un loup
Posté le 28-05-2009 à 17:34:00  profilanswer
 

tu fais une colonne avec le cumul de tes dépenses... et ensuite, ben un graph classique (nuage de point, ou diagramme baton... au choix !)

n°2864761
Loom the G​loom
Even coders get the blues...
Posté le 28-05-2009 à 17:35:24  profilanswer
 

ben déja pour le cumul c'est chaud... [:marllt2]  
il me faudrait un truc automatique, vu que je rajoute des lignes de données régulièrement...


---------------
Music|Market|Feed|Loom|DVD
n°2864763
Ptit loup
Quand c'est flou, y'a un loup
Posté le 28-05-2009 à 17:38:10  profilanswer
 

pour le cumul... tu fais = ligne + cumul précédent
 
colonne A -> date
colonne B -> somme
colonne C -> cumul
en C2... tu mets => = B2
en ensuite en C3 => = B3+C2
et tu étires tout ça sur la colonne....
 
tu as ton cumul... et maintenant tu fais ton graph avec en entrée tes dates et le cumul, et hop, le tour est jouée !

n°2864766
Loom the G​loom
Even coders get the blues...
Posté le 28-05-2009 à 17:41:19  profilanswer
 

oui mais au niveau des dates j'ai des dates tout au long de l'année (ex : 15/01/09, 16/02/09), j'ai besoin que la distinction se fasse automatiquement.
Je te posterais un extrait de mon fichier pour que tu vois à quoi ça ressemble (sachant que j'ai d'autres éléments dans le fichier...)


---------------
Music|Market|Feed|Loom|DVD
n°2864840
Ptit loup
Quand c'est flou, y'a un loup
Posté le 28-05-2009 à 22:06:47  profilanswer
 

Tu limites ensuite ta courbe à tes données mensuelles... non ?
 
(bon, perso, je vois pas vraiment l'intérêt d'avoir un graphique des dépenses ? quel intérêt à savoir si l'on dépense plus ou moins en début/fin/milieu de mois...)

n°2864854
Loom the G​loom
Even coders get the blues...
Posté le 28-05-2009 à 22:53:51  profilanswer
 

Je voudrais une courbe avec un point par mois justement, ce point représentant le total des dépenses du mois.


---------------
Music|Market|Feed|Loom|DVD
n°2864950
Ptit loup
Quand c'est flou, y'a un loup
Posté le 29-05-2009 à 10:25:39  profilanswer
 

ok... eh bien tu fais un total mensuel... (somme conditionnelle en ne prenant que les infos d'un mois donné...) et ensuite tu fais une courbe la dessus alors (pas besoin du cumul intermédiaire dont je te parlais)...

n°2864955
Loom the G​loom
Even coders get the blues...
Posté le 29-05-2009 à 10:36:32  profilanswer
 

http://img20.imageshack.us/img20/3261/exceli.th.png
 
Voilà, j'ai donc besoin d'un graph qui me ferait une courbe des dépenses mensuelles, et qui se mettrait à jour à chaque rajout de ligne...
Je sais pas si c'est plus clair comme ça...


---------------
Music|Market|Feed|Loom|DVD
n°2864965
enjoycarab​in
gnagnagna
Posté le 29-05-2009 à 10:55:53  profilanswer
 

Bonjour à tous,  
 
J'ai une question qui peut paraître évidente pour certains, à propos du recalcul d'un fichier excel lorsqu'on appuie sur un bouton VBA, mais je ne trouve pas la solution au problème, qui est le suivant: J'ai un fichier excel de 23 onglets, avec plein de calculs dans chaque onglet qui dépendent des autres onglets.  
Dans mon premier onglet, appelée "Données" ici, je rentre des valeurs utilisées sur tout les autres onglets, et puis en théorie je fais F9 et ça calcule tout. Sauf que, j'ai 3 procédures en VBA qui doivent être déclenchées à l'aide d'un bouton sur ce premier onglet, bien que les procédures font en réalité des calculs pour 2 autres onglets (c'est juste une question de tout regrouper sur un onglet pour l'interface utilisateur, ergonomie tout ça).  
 
Donc voilà le code de mon bouton VBA:  
----------------------------------------------------  
Private Sub CommandButton1_Click()  
 
Sheets("Echangeurs" ).Activate  
Call echangeur  
 
Sheets("Pertes thermiques" ).Activate  
Call Calcul1  
 
Sheets("Pertes thermiques" ).Activate  
Call Calcul2  
 
Sheets("Données" ).Activate  
End Sub  
------------------------------------------------------  
Mon problème, c'est que si l'utilisateur change une donnée, il doit faire: F9 pour que les données utilisées dans les onglets "Echangeurs" et "Pertes thermiques" soient recalculées. Puis, il doit cliquer sur le bouton "CommandButton1" (oui je sais c'est à renommer...) pour que quelques données soient calculées par les procédures "echangeur", "calcul1" et "calcul2". Enfin pour terminer, l'utilisateur doit refaire F9 pour que les données qui dépendent de ces valeurs en sortie de procédure soient recalculées. En clair, le mec qui utilise le fichier a l'occasion rêvée d'oublier de re calculer et donc d'avoir des résultats faux
 
N'y a t'il pas un moyen de tout faire dans le code du bouton? je veux dire, l'équivalent de la touche F9 mais en VB puis le déclenchement des procédures puis  à nouveau l'équivalent de F9 en VB?  
Comment écrit-on cet équivalent de F9? J'ai lu quelques trucs sur Worksheet.Activate() mais ça recalculera alors seulement l'onglet du bouton vba ou mes 23 onglets?  
 
 
J'espère que je n'ai pas trop mal formulé ma question, et je vous remercie d'avance pour votre aide!


---------------
Il vaut mieux vivre avec des remords qu'avec des regrets {O.Wilde}
n°2865013
Ptit loup
Quand c'est flou, y'a un loup
Posté le 29-05-2009 à 12:17:20  profilanswer
 

Rien de plus simple... une simple recherche dans l'aide Excel/VBA t'aurait d'ailleurs donné la réponse, ou encore une recherche dans ce sujet ! (d'où l'intérêt d'avoir un topic unique...)
 
=> Worksheet.Calculate

n°2865022
enjoycarab​in
gnagnagna
Posté le 29-05-2009 à 13:25:34  profilanswer
 

oui mais je m'y connais pas trop en programmation, c'est pas "mauvais" de le mettre deux fois dans le programme du bouton VBA? genre  
Worksheet.calculate
puis l'appel des procédures
puis Worksheet.calculate ?
 
ceci dit je ne vois pas d'autres solutions, mais est-ce que là comme dit au-dessus, ça fera bien deux fois les calculs?
 
en tout cas merci de ta réponse, par contre n'en fait pas toute une histoire si quelqu'un n'utilise pas le topic unique excel, parce que quand il s'agit de programmation en vba, tu m'accorderas qu'entre aller dans "programmation - vba" ou dans "software - excel", on peut se permettre de se tromper ;)


---------------
Il vaut mieux vivre avec des remords qu'avec des regrets {O.Wilde}
n°2865024
Ptit loup
Quand c'est flou, y'a un loup
Posté le 29-05-2009 à 13:45:04  profilanswer
 

oops... je vois le message en double  [:cerveau picole]  
 
Non, aucun souci à la mettre 2 fois... mais en même temps, une subroutine VBA ne va pas désactiver les calculs pour autant de la feuille, sauf si tu lui demandes explicitement, ce que tu n'as pas fait... donc je crains de ne pas bien comprendre ce que tu veux calculer au final... ?
 
Quels sont ces calculs sinon... ne pourraient ils pas directement être fait via une formule ?... ou sinon, tu te fais une formule à toi... et tu l'appelles dans tes cellules... (déjà abordé il y a maxi qq pages dans ce topic il me semble), ainsi tout deviendra transparent, et les mises à jour se feront en temps réel.
 
Tu pourrais nous donner un exemple d'une macro que tu appelles ? voir quel genre de calcul est fait, et si ça ne pourrait pas être remplacé.
 
En effet... on peut s'y perdre entre les topics et les rubriques... mais bon, ça n'exclut pas la fonction de recherche ! ;)

n°2865036
enjoycarab​in
gnagnagna
Posté le 29-05-2009 à 15:12:40  profilanswer
 

Non je peux pas en faire des formules, c'est des macros assez conséquentes que j'ai mis en place parce que j'avais un paquet de références circulaires qui ne marchaient pas si j'ouvrais 2 fichiers excel en même temps. Donc là super, mes macros me permettent de contourner ce problème (et ça doit renvoyer une bonne quinzaine de valeurs...) donc pas possible autrement.
 
Le truc, c'est en gros que si l'utilisateur change une donnée, ça va modifier des résultats de calculs, donc les données appelées par les macros. Et les résultats renvoyés par la macros ont également un effet sur d'autres cellules de mon fichier. Et mon chef n'acceptera pas de faire :
 F9 + bouton calculer + re F9.  
 
donc en gros je veux qu'avant ET après l'exécution des procédures (voir même entre les différentes procédures tant qu'à faire), les cellules excel soit actualisées avec les effets de la procédure exécutée pris en compte.
après, ça me dérange pas que l'utilisateur, en appuyant sur F9, redéclenche l'actualisation des cellules, il n'aura qu'à s'en prendre qu'à lui s'il ne sait pas appuyer sur un bouton  :pt1cable:  Je plaisante mais bon, à part si y'a moyen de faire une macro qui se déclenche grâce à la touche F9, j'arriverais pas à me débarasser de toutes ces éventualités!
 
Voilà je ne sais pas si c'est très clair mais toute remarque est la bienvenue, et je ne sais pas non plus ce qu'est une subroutine VBA  :whistle:  


---------------
Il vaut mieux vivre avec des remords qu'avec des regrets {O.Wilde}
n°2865732
FabM56
Posté le 01-06-2009 à 17:01:04  profilanswer
 

Salut la compagnie
 
Concernant ma requête plus haut, on s'est globalement bien débrouillé, il reste un point tendu et là je suis dessus. Et j'ai une question:
 
 
 
Est-ce normal de faire planter VBA/Excel en réalisant une boucle, sachant qu'elle est conditionnée par des valeurs avec pas mal de décimales après la virgule?
 
J'ai fait la même procédure de deux façon différentes et c'est le même constat quand je la teste: Ca fonctionne seulement quand il y a 2 itérations, après ça plante tout.
 
Si la réponse nécessite une explication détaillée de la procédure j'essaierai mais il s'agit peut être d'un souci courant. (Les méchants chiffres après la virgule...  :fou:  )
 
'Puis j'ai pas trop de temps non plus pour poster proprement hélas...

n°2865884
allsnow
ALLSNOW
Posté le 02-06-2009 à 12:52:10  profilanswer
 

Bonjour à vous.
 
Existe-il une fonction qui génère des chiffres au hasard ?ou faut-il passer par le VBA ?
J'en ai besoin  pour une application probabilité conditionnel.
 
merci.

n°2865919
enjoycarab​in
gnagnagna
Posté le 02-06-2009 à 15:36:44  profilanswer
 

Bonjour à tous,
 
j'ai une petite question encore à propos de programmation en VBA. Si j'utilise "Application.Calculate" pour recalculer tous les onglets de mon fichier excel pendant la procédure associée au bouton vba d'un des onglets, est-ce que lorsque j'ai 2 fichiers excels différents ouverts, il risque de recalculer aussi le deuxième fichier? Car dans l'aide de VBA, ça n'est pas très clair, je comprends que ça recalcule tous les fichiers ouverts.
 
Du coup, comment est-ce que je pourrais dire qu'il n'y a que l'application appelée par exemple "projet" qui se calculera?
un peu comme sheets("feuille1" ).calculate, je pourrais faire application("projet.xls" ).calculate?
 
Et enfin, autre question qui m'aidera peut-être à éviter des bugs: quelle est la différence entre sheets("feuille1" ), ce que j'utilise, et worksheets("feuille1" ) ? Est-ce que le 2e précise que c'est dans le fichier excel qui appelle la procédure que se trouve "feuille1", si par exemple j'ai 2 fichiers excel différents ouvert mais tous les deux avec un onglet appelé "feuille1" ?
 
Merci d'avance pour vos explications!!


---------------
Il vaut mieux vivre avec des remords qu'avec des regrets {O.Wilde}
n°2865936
The_chosen​_one
There can only be one !
Posté le 02-06-2009 à 17:16:59  profilanswer
 

The_chosen_one a écrit :


 
Je n'ai pas oublié de dire merci :jap:
C'est à peu près ce que je voulais faire, alors je suis en train de légèrement modifier ça pour en faire un CONCATENER.SI.ENS() du même genre que SOMME.SI.ENS() de Excel 2007.


 
Hop, j'ai finalement utilisé les 2 formules suivantes :

Code :
  1. Option Explicit
  2. Function Concatener_Si_egal(PlageConcatene As Range, PlageRecherche1 As Range, Critere1 As String, PlageRecherche2 As Range, Critere2 As String)
  3.     Dim cell As Range
  4.            
  5.     Concatener_Si_egal = ""
  6.     For Each cell In PlageConcatene.Cells
  7.         If PlageConcatene.Parent.Cells(cell.Row, PlageRecherche1.Column) = Critere1 And PlageConcatene.Parent.Cells(cell.Row, PlageRecherche2.Column) = Critere2 Then
  8.             If Concatener_Si_egal = "" Then
  9.                 Concatener_Si_egal = Concatener_Si_egal & cell.Value
  10.             Else
  11.                 Concatener_Si_egal = Concatener_Si_egal & Chr(10) & cell.Value
  12.             End If
  13.         End If
  14.     Next cell
  15. End Function
  16. Function Concatener_Si_contient(PlageConcatene As Range, PlageRecherche1 As Range, Critere1 As String)
  17.     Dim cell As Range
  18.            
  19.     Concatener_Si_contient = ""
  20.     For Each cell In PlageConcatene.Cells
  21.         If InStr(PlageConcatene.Parent.Cells(cell.Row, PlageRecherche1.Column), Critere1) > 0 Then
  22.             If Concatener_Si_contient = "" Then
  23.                 Concatener_Si_contient = Concatener_Si_contient & cell.Value
  24.             Else
  25.                 Concatener_Si_contient = Concatener_Si_contient & Chr(10) & cell.Value
  26.             End If
  27.         End If
  28.     Next cell
  29. End Function


 
Ces formules ne fonctionnent que en 'colonnes' et non en ligne et ne sont pas très génériques (ne répondent qu'à mon besoin précis à ce moment). Mais elles peuvent je le pense être facilement adaptées.
Merci pour l'idée :)

n°2867418
SuppotDeSa​Tante
Aka dje69r
Posté le 08-06-2009 à 13:02:14  profilanswer
 

Bonjour
 
je fais suite a notre discussion en pv avec starfox. Je pense que le fichier pourrait interresser.

starfox a écrit :

petite question simple :
J'ai une colonne D qui contient que des adresses emails. et je veux trier la colonne pour pouvoir identifier rapidement toutes celles qui contiennent une certaine variable (par ex : free.fr).
J'ai tenté dans la colonne suivante de taper la formule suivante :
=SI(D1="*free.fr*"; "a supprimer"; "" )
mais evidemment ca marche pas [:xxantoinexx]

starfox a écrit :


 
[:zirk] ca marche !
 
Sans vouloir faire le boulet y'aurait pas une formule plus simple ? (faut que je la file a plein de vieux fonctionnaires qui vont devoir la taper à la paluche)
en tout cas merci !

SuppotDeSaTante a écrit :


[edit]
Pour ceux que ca interresse, voici un fichier qui en fonction d'un critere a piocher (Contient, ne contient pas) va recuperer les valeurs d'une colonne, et en fonction d'un autre critere va mettre le resultat soit dans une nouvelle feuille soit un nouveau classeur
 
Cordialement
[edit]


 
Modification du fichier pour parametrer :
- quelle colonne doit etre filtrée.
- quelles colonnes doivent etre exportées.
 
FICHIER ICI
 


---------------
Soyez malin, louez entre voisins !
n°2867436
Loom the G​loom
Even coders get the blues...
Posté le 08-06-2009 à 14:40:14  profilanswer
 

Loom the Gloom a écrit :

http://img20.imageshack.us/img20/3261/exceli.th.png

 

Voilà, j'ai donc besoin d'un graph qui me ferait une courbe des dépenses mensuelles, et qui se mettrait à jour à chaque rajout de ligne...
Je sais pas si c'est plus clair comme ça...

 

Je me permet de relancer ça, si quelqu'un a une idée pour gérer un graph de manière tout automatisé...
Ptit Loup, merci pour tes explications mais je n'ai pas réussi pour l'instant à le faire.

 

edit : bon en fait j'ai insisté, j'ai repris tes explications et j'ai réussi :o
C'est pas super élégant, il convient de masquer les cellules intermédiaires de calcul mais ça marche ;)
J'ai donc crée une 1ere colonne faisant un regroupement de date et n'affichant qu'une fois chaque mois, une colonne faisant le cumul des dépenses, et une dernière n'affichant le cumul des dépenses qu'une fois pour chaque mois... et le graphique affiche exactement ce que je recherchais !
Merci ;)


Message édité par Loom the Gloom le 08-06-2009 à 16:08:34

---------------
Music|Market|Feed|Loom|DVD
n°2867614
audioslave​227
virez le slave227
Posté le 09-06-2009 à 12:22:24  profilanswer
 

Salut, mon père a une demande :

 

Voici son fichier :
http://img19.imageshack.us/img19/6700/clipboard01dfs.png

 

Il voudrait recopier dans les cellules vide, ce qu'il y a dans chaque cellule supérieure de la cellule vide.
Cad que de A3 à A21, il faut qu'il y ait "2009".
De B3 à B21, il faut CIPAM
En C4, il faut CFE
En C6 et C7, il faut MULTIMEDIA
... etc... vous avez compris ?

 

Il faudrait une macro je pense, car il y a 58 pages.. donc taper une formule dans chaque cellule, ça va pas le faire, tout comme glisser le coin droit, ça risque d'etre un peu fastidieux.
Merci d'avance .

 

PS. J'ai pas remercié la solution de ma derniere question, donc je m'en excuse mais j'avais trouvé une alternative le temps que la réponse tombe. Mais bravo à tous qui apportez vos lumières sur ce topic :jap:


Message édité par audioslave227 le 09-06-2009 à 12:23:22

---------------
Last.fm
n°2867641
audioslave​227
virez le slave227
Posté le 09-06-2009 à 13:03:59  profilanswer
 

Finalement, j'ai trouvé la macro :

Code :
  1. Sub Macro1()
  2. Dim cel As Range 'déclare la variable cel
  3. 'boucle sur toutes les cellules des colonnes A et B
  4. For Each cel In Range("A2:B" & Range("D65536" ).End(xlUp).Row)
  5.     'si la cellule est vide, elle prend la valeur de la cellule du dessus
  6.     If cel.Value = "" Then cel.Value = cel.Offset(-1, 0).Value
  7. Next cel 'prochaine cellule des colonnes A et B
  8. End Sub


 
Mais il faudrait ajouter une fonction qui execute la macro sur toutes les feuilles, comment je fais ? J'ai lu qu'il fallait ajouter : for each ws in worksheets
Mais où ? A quel niveau de la macro ?  
 
Et toute la macro, je la rentre dans feuil1 (feuil1) ou dans ThisWorkbook ?
Merci


---------------
Last.fm
n°2867678
Ptit loup
Quand c'est flou, y'a un loup
Posté le 09-06-2009 à 14:42:49  profilanswer
 

La macro, tu la rentre plutôt dans "this workbook", ou mieux, dans un module lié à ton classeur... c'est plus propre (ça évite que si ta feuille dégage, tu perdes ton code, et idem, de recopier le code si tu copies la feuille)...
 
En effet, tu fais une boucle autour de ce que tu veux répéter... à toi d'identifier exactement ce que tu veux faire sur chacune de tes feuilles... et ensuite, tu encapsule ça dans ta boucle for each... en prenant bien soin d'activer la feuille sur laquelle tu arrives en premier lieu, histoire que ce qui s'applique le soit sur la bonne feuille.

n°2867689
audioslave​227
virez le slave227
Posté le 09-06-2009 à 15:41:20  profilanswer
 

Ok pour la mettre dans un module, mais sinon je ne sais pas taper de code de macro.
Donc c'est pour ça que j'aimerais que quelqu'un incorpore la fonction pour l'exécution de ma macro initiale sur toutes les feuilles d'un coup.

 

edit :

 

Sub Macro1()
Dim cel As Range 'déclare la variable cel
For Each ws In Worksheets
'boucle sur toutes les cellules des colonnes A et B
For Each cel In Range("A2:B" & Range("D65536" ).End(xlUp).Row)
'si la cellule est vide, elle prend la valeur de la cellule du dessus
If cel.Value = "" Then cel.Value = cel.Offset(-1, 0).Value
Next cel 'prochaine cellule des colonnes A et B
Next ws
End Sub

 

Ca marche pas :/ ça n'execute que sur la feuil1...


Message édité par audioslave227 le 09-06-2009 à 15:47:35

---------------
Last.fm
n°2867695
SuppotDeSa​Tante
Aka dje69r
Posté le 09-06-2009 à 16:07:23  profilanswer
 

Hello
 
audioslave227 :
For Each ws In Worksheets
     Sheets(ws.Name).Select
....
next ws
 
Cordialement
 
[edit] je viens de lire le post original... 58 pages... multiplié par 256 colonnes, multiplié par 65536 lignes... Euh tu en as pour un moment hein...! ! !
 
Tu devrais je pense mettre des bornes pour pas te taper toutes les lignes et toutes les colonnes en verif...[/edit]


Message édité par SuppotDeSaTante le 09-06-2009 à 16:11:57

---------------
Soyez malin, louez entre voisins !
n°2867700
audioslave​227
virez le slave227
Posté le 09-06-2009 à 16:27:46  profilanswer
 

j'suis limité sur 2 colonnes là déjà.
 
Nan mais ya bien un moyen d'appliquer une macro quelconque sur toutes les feuilles non ?

Message cité 1 fois
Message édité par audioslave227 le 09-06-2009 à 16:28:07

---------------
Last.fm
n°2867703
Ptit loup
Quand c'est flou, y'a un loup
Posté le 09-06-2009 à 16:36:23  profilanswer
 

Ben on te l'a donné la méthode...
Tu ne peux pas dire à la macro de "tout faire d'un coup"... forcément tu balaies les cellules, colonnes, feuilles 1 à 1...  
 
(bon, je ne vois pas l'image (proxy inside...), mais je continue de ne pas bien comprendre l'intérêt de ce truc...)

n°2867704
Loom the G​loom
Even coders get the blues...
Posté le 09-06-2009 à 16:45:03  profilanswer
 

J'ai testé ta macro et elle ne semble pas fonctionner, elle boucle sur 3 cellules en A2 et elle passe à la feuille suivante... ??


---------------
Music|Market|Feed|Loom|DVD
n°2867707
SuppotDeSa​Tante
Aka dje69r
Posté le 09-06-2009 à 17:01:17  profilanswer
 

audioslave227 a écrit :

j'suis limité sur 2 colonnes là déjà.
 
Nan mais ya bien un moyen d'appliquer une macro quelconque sur toutes les feuilles non ?


 
Euh non, tu es limité a bien plus !

Citation :

Range("A2:B" & Range("D65536" ).End(xlUp).Row)

A2:BD65536...
 
Ensuite, le End(xlUp).row
Bah forcement ca te selectionne que de A2 à B2 puisque le End est mal placé/formulé...


Message édité par SuppotDeSaTante le 09-06-2009 à 17:03:39

---------------
Soyez malin, louez entre voisins !
n°2867709
audioslave​227
virez le slave227
Posté le 09-06-2009 à 17:04:56  profilanswer
 

Loom the Gloom a écrit :

J'ai testé ta macro et elle ne semble pas fonctionner, elle boucle sur 3 cellules en A2 et elle passe à la feuille suivante... ??


ah chez moi elle remplit toutes les cellules vides des colones A et B, puis s'arrete, alors que ya des colonnes vide dans une autre feuille que je voudrais remplir...

 

Et si je change

 

For Each cel In Range("A2:B" & Range("D65536" ).End(xlUp).Row)

 

par

 

For Each cel In Range("A2:G" & Range("D65536" ).End(xlUp).Row)

 

Ca me rempli jusqu'à la colonne G.

 


SuppotDeSaTante a écrit :

 

Euh non, tu es limité a bien plus !

Citation :

Range("A2:B" & Range("D65536" ).End(xlUp).Row)

A2:BD65536...

 

Ensuite, le End(xlUp).row
Bah forcement ca te selectionne que de A2 à B2 puisque le End est mal placé/formulé...

heu... je ne connais rien à ce langage hein....
Je demande juste une soluce, et j'apporte un debut de macro. Si ya des trucs à modifier, je vous en prie, réécrivez ce qu'il faut :jap:


Message édité par audioslave227 le 09-06-2009 à 17:06:49

---------------
Last.fm
n°2867711
Ptit loup
Quand c'est flou, y'a un loup
Posté le 09-06-2009 à 17:06:35  profilanswer
 

que veux tu faire avec ça ?
"A2:G" & Range("D65536" )
 
Tu veux que ça corresponde à quoi en fait ?


Message édité par Ptit loup le 09-06-2009 à 17:06:44
n°2867715
SuppotDeSa​Tante
Aka dje69r
Posté le 09-06-2009 à 17:18:53  profilanswer
 

Hum...
 
Essaie un truc comme cela alors :

Code :
  1. Sub Macro1()
  2. Dim cel As Range
  3. On Error Resume Next
  4. Application.ScreenUpdating = False
  5. For Each ws In Worksheets
  6.     Sheets(ws.Name).Select
  7.     LigneMax = Cells.Find("*", [A1], , , , xlPrevious).Row + 1
  8.     For Each cel In Range("A2:BD65536" )
  9.         If cel.Row >= LigneMax Then
  10.             Exit For
  11.         End If
  12.         If cel.Value = "" Then cel.Value = cel.Offset(-1, 0).Value
  13.     Next cel
  14. Next ws
  15. Application.ScreenUpdating = False
  16. End Sub


 
Pas eu le temps de mettre des commentaires, mets en gros je recupere la derniere ligne, et en fonction je sors, pour alleger la sauce. Plus, je dis a Excel de pas montrer ce qu'il fait, comme ca on gagne en ressource.
 
Cordialement


Message édité par SuppotDeSaTante le 09-06-2009 à 17:19:55

---------------
Soyez malin, louez entre voisins !
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  17  18  19  ..  112  113  114  115  116  117

Aller à :
Ajouter une réponse
 

Sujets relatifs
[EXCEL] Faire une mise à jour dynamique de valeur entre champsExcel : rechercher et afficher une liste
[EXCEL] Conversion/multiplication de massequestions sur la téléphonie avec free en 512k
Excel: Comment insérer automatiquement un titre à chaque page ?[excel] largeur de colonne différente
[Excel] (N00B Inside :-/ )Je veux additionner ...2 questions urgentes : Remplacer Photoshop et achat de scanner
changer la police par défaut sous Excel[Excel] Comment faire pivoter une feuille ?
Plus de sujets relatifs à : [Topic Unique] Excel : Keep calm and Pivot Table !


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)