Aide sur emploi macros

Bremic83

XLDnaute Occasionnel
Bonjour à tous.
Quelqu'un pourrait-il me donner la clef pour utiliser une macro enregistrée par moi sur enregistreur excel ?
Elle fonctionne parfaitement sur la ligne de référence,et je voudrais l'utiliser sur les cinquante lignes de mon tableau,au choix,et indépendamment des autres lignes,bien sùr.Il doit bien exister un moyen autre que recopier la macro 50 fois en changeant la référence de ligne à chaque fois !
Inutile de vous dire que je débute en informatique .
Je suis équipé vista premium et excel 2007.
J'ai eu des réponses sur un autre forum,mais je n'ai, pu les appliquer car elles étaient conçues pour XP et excel 2003.
Merci d'avance,et à plus

Bremic83
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Aide sur emploi macros

Bonjour à tous,

Peut-être qu'avec une procédure évènementielle "SelectionChange" dans laquelle tu récupère le numéro de la ligne pour t'en servir dans le code que tu as enregistré

pas facile pour moi de t'en dire plus, je suis au boulot et Excel non installé sur ma machine
 

Bremic83

XLDnaute Occasionnel
Re : Aide sur emploi macros

Bonjour le fil, Bremic83

Peut-être quelque chose comme
Code:
For ligneDebut to ligneFin
    ... ta macro
Next
Un classeur exemple permettrait d'être plus précis ... ;)

A plus

Bonjour soenda,merci de te pencher sur mon problème,:

Voici le détail de mon projet : J’ai un fichier composé de cinq colonnes A B C D E F et de cinquante lignes de 1 à 50
Colonne A : nom du débiteur.
Colonne B : montant de la dépense engagée,(impression en bleu )
Colonne C : moyen de paiement (CQ=chèque,pvt=prélèvement.CB=carte bancaire,etc…)
Colonne D :copie de la colonne B (impression en rouge)
Colonne E ; copie cellule D,à la demande(Explications suivent )
Déroulement des opérations souhaitées :
Sur chaque ligne concernée :
a/ clic sur cellule colonne D
b/copie de colonne D en E,impression en vert
c/suppression contenu cellule D
d/passage en couleur rouge cellule B
Fin des opérations

j’ai enregistré la macro ci-dessous,qui fonstionne parfaitement ,mais sur un seule ligne,
Comment la faire agir sur n’importe laquelle des cinquante lignes du tableau?


Sub Macro20()
'
' Macro20 Macro
'
' Touche de raccourci du clavier: Ctrl+z
'
Range("D4").Select
Selection.Copy
Range("E4").Select
ActiveSheet.Paste
Range("D4").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = ""
Range("B4").Select
With Selection.Font
.Color = -16776961
.TintAndShade = 0
End With
Range("E4").Select
With Selection.Font
.Color = -11489280
.TintAndShade = 0
End With
End Sub

A plus
Bremic83
 

soenda

XLDnaute Accro
Re : Aide sur emploi macros

Bonjour le fil, phlaurent, Bremic83

Si on ne veut pas utiliser de procédure évènementielle,
on peut utiliser la propriété Row de la cellule active "ActiveCell.Row".

Ce qui donnerait quelque chose comme :
Code:
Sub Macro20_bis()
 
    With Range("D" & ActiveCell.Row)
        .Copy [B][COLOR=red].[/COLOR][/B]Offset(, 1)
        .Value = vbNullString
        .Offset(, -2).Font.Color = -16776961
        .Offset(, 1).Font.Color = -11489280
    End With
 
    Application.CutCopyMode = False
 
End Sub
Mais il faudrait probablement ajouter un test pour vérifier que la feuille active soit la bonne ...

A plus
 
Dernière édition:

Bremic83

XLDnaute Occasionnel
Re : Aide sur emploi macros

Bonsoir soenda,et merci de t'intéresser à mon problème.

J'ai mis en place le code que tu m'as envoyé cet après midi,mais lorsque je veux exécuter la macro, j'ai une fenêtre d'erreur qui s'ouvre:"Erreur de compilation Sub ou Fonction non définie"
et sur le texte de ta macro,à la deuxieme ligne,: ".Copy Offset",Offset est
surligné en bleu.
Comme je suis novice,l'aide que j'ai appelée est restée de l'hébreu pour moi !
Peux tu m'éclairer à ce sujet ?
Encore merci,et à plus

Bremic83
 

soenda

XLDnaute Accro
Re : Aide sur emploi macros

Re,

".Copy Offset",Offset est surligné en bleu.
Exact ! faute lors de la copie ... désolé :eek:

Il faut ajouter un point avant Offset (c'est un déplacement, à partir de la cellule sélectionnée, de 0 ligne et 1 colonne)
Code:
[SIZE=4][COLOR=red][B].[/B][SIZE=2][COLOR=black]Offset(,1)[/COLOR][/SIZE][/COLOR][/SIZE]
A plus
 
Dernière édition:

Bremic83

XLDnaute Occasionnel
Re : Aide sur emploi macros

Bonjour soenda.
J'ai rectifié l'erreur,cette fois : nouveau message :"erreur de compilation,attendu = "
Sur Aide,j'ai cru comprendre,et ajouté un espace entre " .Copy,et .Offset"
Changement de message :" Utilisation incorrecte de la propriété ",et surlignage en bleu
sur la dernière ligne,de:" .CutCopyMode "
Je nage...!
A plus

Bremic83
 
Dernière édition:

soenda

XLDnaute Accro
Re : Aide sur emploi macros

Bonjour le fil, Bremic83

Le bout de code est fonctionnel, vois la PJ.

J'ai ajouté des commentaires. :)

A plus
 

Pièces jointes

  • Bremic83.xlsm
    15.6 KB · Affichages: 67
  • Bremic83.xlsm
    15.6 KB · Affichages: 65
  • Bremic83.xlsm
    15.6 KB · Affichages: 66

Bremic83

XLDnaute Occasionnel
Re : Aide sur emploi macros

suite du roman:
Ne sachant pas comment copier ta macro,dans ma feuille,je la recopie manuellement,et je tombe sur un premier os:
A la 5éme ligne,j'ai un erreur de compilation "Attendu:expression",et le surlignage en bleu
apparait sur l'apostrophe qui suit le signe =

Une nouvelle fois ,à plus,et excuse moi si j'abuse de ta patience.

Bremic83
 

soenda

XLDnaute Accro
Re : Aide sur emploi macros

Re,

Ne sachant pas comment copier ta macro,dans ma feuille...
As-tu essayé de "lancer" le classeur que je t'ai envoyé, juste pour voir ?

... Quoiqu'il en soit, quelle est le n° de ligne qui pose problème (de 1 à 5) ? (voir ci dessous)
Sub Macro20_bis()

With Range("D" & ActiveCell.Row)
1) .Copy .Offset(, 1)
2) .Value = vbNullString
3) .Offset(, -2).Font.Color = -16776961
4) .Offset(, 1).Font.Color = -11489280
End With

5) Application.CutCopyMode = False

End Sub
Tu n'abuses pas! Mais je suis surpris ... :confused:

Dans l'attente, à plus :)
 

Bremic83

XLDnaute Occasionnel
Re : Aide sur emploi macros

Bonjour SOENDA,
Je crois que je me suis mal exprimé,quand j'ai parlé de macro,d'après ta réponse,il semblerait que ce soit du classeur en deux parties que tu m'as envoyé que je voulais parler.
Je te l'ai déjà dit,je suis tout à fait novice,et je n'ai personne sur place qui puisse me
"traduire" certains termes,comme,par exemple "Lancer le classeur":je ne sais comment opérer ! Pour ce qui concerne,ce classeur,je l'ai recopié et enregistré en macro21,et,
c'est au cours de cette copie que j'ai une flopée de messages d'erreur,à chaque ligne
qui utilise l'apostrophe comme suit : " .Lookin = 'e "
Merci de te montrer si compréhensif,et à plus.

Bremic83
 

soenda

XLDnaute Accro
Re : Aide sur emploi macros

Bonjour Bremic83

1 - Par "Lancer le classeur", je voulais dire télécharger le classeur, l'ouvrir, autoriser les macros, sélectionner une ligne contenant des données et cliquer sur le bouton.

2 - Ce serait plus facile pour moi de t'aider, si tu postais un classeur exemple...

A plus
 
Dernière édition:

Bremic83

XLDnaute Occasionnel
Re : Aide sur emploi macros

Bonsoir

Je vais essayer de t'envoyer un dossier en pièce jointe,mais,comme c'est
mon premier essai,je ne sais si je vais réussir.
Si c'est raté,je recommencerai !

Bremic83

Je me suis trompé de fichier,celui çi est celui auquel,je voudrais
affecter une macro de tri automatique.
Je t'enverrai le bon demain ,car ce soir,c'est terminé.
Bonne nuit

Bremic83
 
Dernière édition:

Discussions similaires