OVH Cloud OVH Cloud

help macroteur débutant

21 réponses
Avatar
michel duthoit
après avoir bien sué, j'ai réussi à faire une très courte macro de gestion
de petit stock garage entretien : ça marche en mettant à jour après
réapprovisionnement .... mais comment dire à la macro d'appliquer le même
traitement de mise à jour sur d'autres lignes
merci à la bonne âme passant par là
md

10 réponses

1 2 3
Avatar
Philippe.R
Bonjour JPS,
J'avais, pour le test, généreusement tartiné de données la plage G1:N20
--
Amicales Salutations

"sabatier" a écrit dans le message de news:
ah bon
juste un mot : tu préinstalles des données dans quelles cellules pour ton test?
à suivre
jps

"Philippe.R" wrote:

Bonsoir Jean Paul,
je reste sur H5, le Next ne me donnant pas l'impression de marcher...
Curieux ça fonctionne pourtant bien chez moi !?!

--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002

"sabatier" a écrit dans le message de news:
bon, ça y est, j'ai le bouchon, philippe, par contre je n'arrive pas à changer de
ligne avec ta proc : je reste sur H5, le Next ne me donnant pas l'impression de
marcher...
moi, j'ai fait un autre truc, que j'ai soumis à michel, basé sur des références
relatives...
à suivre
jps

"Philippe.R" wrote:

Bonsoir Michel,
En attendant que Jean Paul ai retrouvé le bouchon, je m'immisce pour proposer :

Sub Macro9()
'Macro enregistrée le 21/12/2003 par DUTHOIT
'Modification sur MPFE le 21/12/2003
' Touche de raccourci du clavier: Ctrl+m
Dim l As Long, z As Long '

z = Application.WorksheetFunction.CountA(Range("h:h"))

For l = 5 To z
Range("N" & l).Copy
Range("H" & l).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, _
SkipBlanks:úlse, Transpose:úlse
Application.CutCopyMode = False
Range("J" & l & ":N" & l).ClearContents
Range("N" & l).FormulaR1C1 = "=RC[-2]+RC[-6]"
Range("I" & l).FormulaR1C1 = "=RC[-2]-RC[-1]"
Next l
End Sub

;o))
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"michel duthoit" a écrit dans le message de
news:bs4vk9$k2u$
pas encore très familier avec les procédures, je répond directement puis au
groupe
j'ai un stock théorique par produit (un produit par ligne): pneus, bougies,
courrois, etc... et je suis (suivre) le réel que je rentre manuellement, les
fonctions de base de calcul détermine le réapprovisionnement, que je suis
(commande, réception) puis par une petite macro je rajoute au réel et je
réinitialise : ça marche sur la ligne mais je ne sais pas dire à la macro
comment faire la même chose sur la ligne suivante

ci dessous la macro actuelle

merci

Sub Macro9()

'

' Macro9 Macro

' Macro enregistrée le 21/12/2003 par DUTHOIT

'

' Touche de raccourci du clavier: Ctrl+m

'

Range("N5").Select

Selection.Copy

Range("H5").Select

Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _

False, Transpose:úlse

Range("J5:N5").Select

Application.CutCopyMode = False

Selection.ClearContents

Range("N5").Select

ActiveCell.FormulaR1C1 = "=RC[-2]+RC[-6]"

Range("I5").Select

ActiveCell.FormulaR1C1 = "=RC[-2]-RC[-1]"

End Sub


"sabatier" a écrit dans le message de
news:
bonjour michel
tu vois, ta question, c'est un peu comme si je venais te voir dans ton
garage

et que je te dise : tu voudrais pas jeter un oeil sous mon capot, j'ai un
truc

qui ne marche pas...
si tu veux qu'une bonne âme mette le nez dans le moteur de tes macros, il
te

faut être plus précis dans la formulation de ta question...
jps

michel duthoit wrote:

après avoir bien sué, j'ai réussi à faire une très courte macro de
gestion


de petit stock garage entretien : ça marche en mettant à jour après
réapprovisionnement .... mais comment dire à la macro d'appliquer le
même


traitement de mise à jour sur d'autres lignes
merci à la bonne âme passant par là
md



















Avatar
sabatier
n'avons plus, alain, toi et moi-même, qu'à attendre la réaction de michel qui devrait, en toute
logique, partir au quart de tour...
jps

"Philippe.R" wrote:

Bonjour JPS,
J'avais, pour le test, généreusement tartiné de données la plage G1:N20
--
Amicales Salutations

"sabatier" a écrit dans le message de news:
ah bon
juste un mot : tu préinstalles des données dans quelles cellules pour ton test?
à suivre
jps

"Philippe.R" wrote:

Bonsoir Jean Paul,
je reste sur H5, le Next ne me donnant pas l'impression de marcher...
Curieux ça fonctionne pourtant bien chez moi !?!

--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002

"sabatier" a écrit dans le message de news:
bon, ça y est, j'ai le bouchon, philippe, par contre je n'arrive pas à changer de
ligne avec ta proc : je reste sur H5, le Next ne me donnant pas l'impression de
marcher...
moi, j'ai fait un autre truc, que j'ai soumis à michel, basé sur des références
relatives...
à suivre
jps

"Philippe.R" wrote:

Bonsoir Michel,
En attendant que Jean Paul ai retrouvé le bouchon, je m'immisce pour proposer :

Sub Macro9()
'Macro enregistrée le 21/12/2003 par DUTHOIT
'Modification sur MPFE le 21/12/2003
' Touche de raccourci du clavier: Ctrl+m
Dim l As Long, z As Long '

z = Application.WorksheetFunction.CountA(Range("h:h"))

For l = 5 To z
Range("N" & l).Copy
Range("H" & l).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, _
SkipBlanks:úlse, Transpose:úlse
Application.CutCopyMode = False
Range("J" & l & ":N" & l).ClearContents
Range("N" & l).FormulaR1C1 = "=RC[-2]+RC[-6]"
Range("I" & l).FormulaR1C1 = "=RC[-2]-RC[-1]"
Next l
End Sub

;o))
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"michel duthoit" a écrit dans le message de
news:bs4vk9$k2u$
pas encore très familier avec les procédures, je répond directement puis au
groupe
j'ai un stock théorique par produit (un produit par ligne): pneus, bougies,
courrois, etc... et je suis (suivre) le réel que je rentre manuellement, les
fonctions de base de calcul détermine le réapprovisionnement, que je suis
(commande, réception) puis par une petite macro je rajoute au réel et je
réinitialise : ça marche sur la ligne mais je ne sais pas dire à la macro
comment faire la même chose sur la ligne suivante

ci dessous la macro actuelle

merci

Sub Macro9()

'

' Macro9 Macro

' Macro enregistrée le 21/12/2003 par DUTHOIT

'

' Touche de raccourci du clavier: Ctrl+m

'

Range("N5").Select

Selection.Copy

Range("H5").Select

Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _

False, Transpose:úlse

Range("J5:N5").Select

Application.CutCopyMode = False

Selection.ClearContents

Range("N5").Select

ActiveCell.FormulaR1C1 = "=RC[-2]+RC[-6]"

Range("I5").Select

ActiveCell.FormulaR1C1 = "=RC[-2]-RC[-1]"

End Sub


"sabatier" a écrit dans le message de
news:
bonjour michel
tu vois, ta question, c'est un peu comme si je venais te voir dans ton
garage

et que je te dise : tu voudrais pas jeter un oeil sous mon capot, j'ai un
truc

qui ne marche pas...
si tu veux qu'une bonne âme mette le nez dans le moteur de tes macros, il
te

faut être plus précis dans la formulation de ta question...
jps

michel duthoit wrote:

après avoir bien sué, j'ai réussi à faire une très courte macro de
gestion


de petit stock garage entretien : ça marche en mettant à jour après
réapprovisionnement .... mais comment dire à la macro d'appliquer le
même


traitement de mise à jour sur d'autres lignes
merci à la bonne âme passant par là
md





















Avatar
Monique Brunel
Bonjour Michel,
bienvenue sur mpfe :-)

Sur les sites proposés dans ce message d'accueil, tu découvriras des
cours (avec ou sans VBA), des classeurs d'exemples à télécharger, des
macros, des trucs et astuces...

Pour connaître les habitudes de mpfe (et les erreurs à éviter, comme les
fichiers joints...), tu peux lire ces messages publiés régulièrement
ici, avec l'un de ces intitulés
- FAQ MPFE http://dj.joss.free.fr/netiquet.htm (nétiquette, conseils...)
- [Charte] du forum MPFE http://minilien.com/?9Ag3gXpmA4
et consulter cette page
http://www.excelabo.net/mpfe/connection.htm
(connexion,conseils...), à consulter absolument si tu suis le forum
depuis un site web (la solution la moins efficace et la moins
confortable) ou avec le serveur de Wanadoo (très peu performant quant au
délai d'affichage et au nombre de messages publiés).
Le serveur à utiliser : news.microsoft.com - ou cliquer directement sur
news:microsoft.public.fr.excel

Pour les débutants, voilà 5 bons trucs pour apprendre vite :
- utiliser souvent l'enregistreur de macro et analyser le code obtenu
- utiliser la touche F1 pour appeler l'aide (à propos du mot-clef, en
VBA, sur lequel se trouve le curseur)
- tester et essayer de comprendre des réponses faites à d'autres
- consulter souvent les sites renseignés
- ne jamais hésiter à poser des questions sur le forum

Voici la liste des sites dédiés à Excel, réalisés par des mpfie(ne)s et
que nous devons tous avoir dans nos favoris.
Débutant ou utilisateur confirmé, tu y trouveras de quoi apprendre,
progresser et résoudre bien des problèmes.
(la date d'une mise à jour est signalée par ** ** )
http://dj.joss.free.fr/faq.htm ** 05/11/03 **
la FAQ du forum, mise en oeuvre par Daniel et à lire absolument par tout
nouveau sur mpfe : la bonne manière de participer au forum (charte,
souriettes, abréviations...), liens, bibliographie, les réponses aux
questions le plus souvent posées, des trucs et astuces, un moteur de
recherche interne et externe (Yahoo), une page débutants
http://www.excelabo.net/index.php ** 14/12/03 **
le site humoro-ludique de Misange : une importante rubrique "Trucs et
astuces", des classeurs à télécharger, un glossaire, une page débutants,
des jeux en VBA... et un méta-moteur de recherche sur 6 sites de cette
liste...
mais aussi tout ce qui fait "l'esprit mpfe", les perles, les gifs...
et,sur http://fotoflo.free.fr/ les photos des soupers/dîners de mpfe
http://longre.free.fr/ ** 27/03/03 **
le site de Laurent, notre Grand Chef à Quatre Plumes : de très nombreux
liens commentés, les macros pointues de Laurent... (techniques de
programmation, calculs de dates et d'heures, Api...)
http://jacxl.free.fr/mpfe/ ** 01/03/03 **
le site de : les graphiques, la bourse, le Web, un cours VBA, un
moteur de recherche à la page Aide... et le trombinoscope des mpfien(ne)s
http://ericrenaud.free.fr/index.html ** 06/12/03 **
le site d'Eric : particulièrement destiné aux débutants (UserForm...)
http://perso.wanadoo.fr/frederic.sigonneau ** 06/05/03**
le site de Frédéric : gestions de temps, VBA pour Excel... une mine d'or
de macros
http://xlbysteph.free.fr/aideinformatique/mainexcel.html ** 24/04/03 **
le site de Stéphane : cours VBA, Excel 4 (ou 5) et Excel 97/2000...
http://perso.club-internet.fr/bdafonse/excel_1.htm
le site de Bruno : formules, classeurs à télécharger...
http://cherbe.free.fr/ ** 14/03/03 **
le site de Christian : initiation à Excel, initiation à VBA, Excel
avancé sans VBA... (cours à télécharger)
http://www.ilyapa.net/excel/ ** 22/05/02 **
le site de Pascal : procédures VBA, composants par
l'exemple,calendriers, jeux
http://intendant.free.fr/ ** 13/03/02 **
le site de Thierry : cours VBA (début et perfectionnement), graphique,
Excel en bureautique...
http://www.polykromy.com/ ** 29/06/03 **
le site de Gaëtan : cours sur Excel sans VBA, les couleurs, des astuces
animées...
http://www.gaboly.com ** 05/02/03 **
le site de Michel, cours Excel et VBA (avec un Mac)...
http://www.excel-downloads.com ** 26/07/03 **
le site de David, des programmes Excel à télécharger
http://mapage.noos.fr/pnoss/excel.html ** 23/08/02 **
le site de Philippe, trucs et astuces, Exoutils (barre d'outils pour
Excel à télécharger)...
http://www.champey.com/
le site de Patrice : les langages de programmation (VB, VBS et VBA)
http://www.anthony-penel.fr.st
le site d'Anthony : des macros appliquées à la finance
http://www.fundp.ac.be/~jmlamber/
le site de Jean-Marie : initiation VBA, TCD, listes, solveur...
http://www.ibelgique.com/OfficeAssistant
le site de Bureauticien : nombreux exemples résolus par VBA,fonctions...
http://www.cathyastuce.com/index.htm
le site de Cathy : cours Excel avec ou sans VBA...
http://perso.wanadoo.fr/jean.duprat
le site de Papy Jean : fiches Excel pour débutants...
http://www.ifrance.com/fleguen/excel.html
le site de Konga : des classeurs d'exercices (fonctions, macros)


Pour une collection très fouillée d'adresses (avec commentaires) :
le classeur de Clément M, à télécharger sur disciplus
Favoris.xls
Et un lien à y ajouter, la liste des constantes intrinsèques de VBA avec
leur valeur numérique (par versions d'Excel) :
http://support.microsoft.com/support/kb/articles/Q112/6/71.ASP
(télécharger: wc0993.exe)

Pour le passage de Excel 4 à Excel 97, un lien proposé par Geo
http://www.microsoft.com/FRANCE/officedev/infotech/info.asp?mar=/FRANCE/officedev/infotech/MacroXLtoVBA.html
(le lien tient sur plusieurs lignes, il se termine par html)
ou http://minilien.com/?5vyhNUG62R

Enfin, pour retrouver d'anciens messages, tu peux aller sur
http://groups.google.com/advanced_group_search
avec les conseils de Clément M pour obtenir les meilleurs résultats :
--- Là, il y a un écran "bilingue" qui permet de faire une recherche
plus ou moins pointue, selon les informations dont l'on dispose.
Une fois que l'on a repéré un message, il est possible de récupérer
l'ensemble de la ficelle, en cliquant sur "Voyez Fil de Discussion (x
articles)".
Je me suis aperçu que Google fonctionnait très mal quand on fait une
recherche avec un nom qui contient des accents. Il semble donc
préférable d'utiliser l'adresse électronique comme nom d'auteur.
Auteur => 3.450 messages
Auteur Clément Marcotte => 1 message
Auteur Clément_Marcotte => 0 message ---

Bonne lecture et à bientôt sur mpfe.

--
Amicalement,
au nom des mpfiens et mpfiennes,
Monique (la Wallonne) - (remplacer mpfe par skynet.be)
en campagne pour des sites conformes aux standards et accessibles...
http://www.webmaster-hub.com/
et pour les amateurs d'athlétisme... http://users.skynet.be/osga/


pas encore très familier avec les procédures, je répond directement puis au
groupe


Avatar
Jacquouille
Bonsoir Président
Tu peux expliquer au petit Jacky ce que tu as voulu dire avec ton (3),
steplé ?
For i = 5 To [G65536].End(3).Row


Un grand merci
--
Jacquouille conseille : http://www.excelabo.net


"AV" a écrit dans le message news:

Comme (apparement ?) tes données "stables" sont en G5:Gx, ça pourrait se
résumer

à :

Sub zzzz()
For i = 5 To [G65536].End(3).Row
Range("H" & i) = Range("N" & i)
Range("N" & i) = "=L" & i & "+H" & i
Range("I" & i) = "=G" & i & "-H" & i
Next
Range("J5:M" & i) = ""
End Sub

AV




Avatar
sabatier
bonsoir secrétaire
le président étant déjà alité, je réponds à sa place et de façon plus
imprécise qu'il ne le ferait mais c'est comme pour les rillettes chères
au père brossollette : à chacun ses valeurs....
si tu écris la proc qui semble t'émouvoir dans un module, tu verras
qu'après la parenthèse ouvrante du End, le système te propose 4
directions (xlDown , xlToLeft, ToRight, et xlUp) et si j'ai bien compris
bien que ne trouvant nulle part l'info correspondante, tu peux remplacer
l'un de ces directions par un index ; si c'est dans l'ordre de
l'affichage, le 3 d'alain veut dire vers la droite, une façon d'ignorer
ce qui se passe à gauche de la colonne G qui, dans l'exemple de jacky
est la plus à gauche de celles qu'il a à traiter....
mais avoue que c'est quand même pénible de devoir suppléer les MVP à
tout bout de champ...
jps

Jacquouille a écrit:
Bonsoir Président
Tu peux expliquer au petit Jacky ce que tu as voulu dire avec ton (3),
steplé ?

For i = 5 To [G65536].End(3).Row



Un grand merci
--
Jacquouille conseille : http://www.excelabo.net


"AV" a écrit dans le message news:


Comme (apparement ?) tes données "stables" sont en G5:Gx, ça pourrait se


résumer

à :

Sub zzzz()
For i = 5 To [G65536].End(3).Row
Range("H" & i) = Range("N" & i)
Range("N" & i) = "=L" & i & "+H" & i
Range("I" & i) = "=G" & i & "-H" & i
Next
Range("J5:M" & i) = ""
End Sub

AV









Avatar
Jacquouille
Salut Paulo,
Ta réponse me semble très poétiquement développée.

Pratiquant quelque peu l'esprit du Maître, je crois (sans vouloir dévoiler
la couronne) qu'Il a voulu écrire dans sa dernière homélie que le truc
devait aller de haut en bas ou , pire, de bas en haut. Ce qui, à moins
d'être couché sur le flanc, auquel cas le côté devient cave ou étage, semble
contredire ton écrit politico-mathématicien, voire militariste avé ton
Gauche-Droite.
Je demande donc confirmation de la position à prendre avant de lire et
appliquer ta réponse.
Au bon plaisir
--
Jacquouille conseille : http://www.excelabo.net


"sabatier" a écrit dans le message news:

bonsoir secrétaire
le président étant déjà alité, je réponds à sa place et de façon plus
imprécise qu'il ne le ferait mais c'est comme pour les rillettes chères
au père brossollette : à chacun ses valeurs....
si tu écris la proc qui semble t'émouvoir dans un module, tu verras
qu'après la parenthèse ouvrante du End, le système te propose 4
directions (xlDown , xlToLeft, ToRight, et xlUp) et si j'ai bien compris
bien que ne trouvant nulle part l'info correspondante, tu peux remplacer
l'un de ces directions par un index ; si c'est dans l'ordre de
l'affichage, le 3 d'alain veut dire vers la droite, une façon d'ignorer
ce qui se passe à gauche de la colonne G qui, dans l'exemple de jacky
est la plus à gauche de celles qu'il a à traiter....
mais avoue que c'est quand même pénible de devoir suppléer les MVP à
tout bout de champ...
jps

Jacquouille a écrit:
Bonsoir Président
Tu peux expliquer au petit Jacky ce que tu as voulu dire avec ton (3),
steplé ?

For i = 5 To [G65536].End(3).Row



Un grand merci
--
Jacquouille conseille : http://www.excelabo.net


"AV" a écrit dans le message news:


Comme (apparement ?) tes données "stables" sont en G5:Gx, ça pourrait se


résumer

à :

Sub zzzz()
For i = 5 To [G65536].End(3).Row
Range("H" & i) = Range("N" & i)
Range("N" & i) = "=L" & i & "+H" & i
Range("I" & i) = "=G" & i & "-H" & i
Next
Range("J5:M" & i) = ""
End Sub

AV












Avatar
AV
qu'après la parenthèse ouvrante du End, le système te propose 4
directions (xlDown , xlToLeft, ToRight, et xlUp)


Ca c'est pas bon :
L'ordre est : xIToLeft, xIToRight, xIUp, xIDown

et si j'ai bien compris, bien que ne trouvant nulle part l'info


Ca doit bien être qque part et c'est pas spécifique à la propriété "End"

tu peux remplacer l'un de ces directions par un index


Ca c'est ok
Donc ça signifie (comme le souligne le Secrétaire) fin(vers le Haut)

AV

Avatar
sabatier
merci de confirmer alain mais chez moi XL 97, c'est bien dans l'ordre que
j'ai écrit....
je ne sais pas si cela change quelquechose...
jps

AV wrote:

qu'après la parenthèse ouvrante du End, le système te propose 4
directions (xlDown , xlToLeft, ToRight, et xlUp)


Ca c'est pas bon :
L'ordre est : xIToLeft, xIToRight, xIUp, xIDown

et si j'ai bien compris, bien que ne trouvant nulle part l'info


Ca doit bien être qque part et c'est pas spécifique à la propriété "End"

tu peux remplacer l'un de ces directions par un index


Ca c'est ok
Donc ça signifie (comme le souligne le Secrétaire) fin(vers le Haut)

AV



Avatar
AV
merci de confirmer alain mais chez moi XL 97, c'est bien dans l'ordre que
j'ai écrit....


Ca dépend comment tu appeles l'aide :
Si tu sélectionnes le "End" ouis F1, tu auras le bon ordre

C'est vrai que c'est pas le même ordre que celui proposé en ligne quand tu écris
Range("A1").End(

Je tél immédiatement à Bill cette anomalie !
AV

Avatar
sabatier
et après tu me le passeras, alain : j'ai à lui parler d'un tas d'autres trucs, entre
autres de ma prochaine nomination MVP HS ; en effet, il souhaite rendre plus
conviviaux ses autres forums et pense qu'en créant cette nouvelle distinction (comme
1ère pompe et maréchal, quoi), le style mpfe servira de référence aux autres, même
si c'est loin d'être gagné avec le mpfwxp...
jps

AV wrote:

merci de confirmer alain mais chez moi XL 97, c'est bien dans l'ordre que
j'ai écrit....


Ca dépend comment tu appeles l'aide :
Si tu sélectionnes le "End" ouis F1, tu auras le bon ordre

C'est vrai que c'est pas le même ordre que celui proposé en ligne quand tu écris
Range("A1").End(

Je tél immédiatement à Bill cette anomalie !
AV



1 2 3