modifier contenu de macro avec autre macro

  • Initiateur de la discussion Initiateur de la discussion jad73
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

jad73

XLDnaute Occasionnel
bonjour le forum
je voudrais modifier la ligne "Range("C10958:V10971").Select" c'est à dire ajouter +1 a 10958 et 10971 pour qu'ils deviennent 10959 et 10972 a l'aide d'une autre macro.
comment faut-il l'écrire
voici la macro à modifier(module38) chaque fois que je cliquerais sur le bouton de l'autre macro

Code:
Sub Macro12()
'
' Macro12 Macro
' copie 14 tirages vers anonc
'

'
    Sheets("Feuil1").Select
    Range("C10958:V10971").Select
    Selection.Copy
    Sheets("anonc").Select
    Range("X4").Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
    Range("AL2").Select
End Sub

merci
 
Re : modifier contenu de macro avec autre macro

Bonjour jad73

Voila comment je traiterai le problème
Attention : Valable tant que l'on ne ferme pas le fichier (si cela ne convient pas ,ne pas hésiter à revenir)

Code:
Public ligne1 As Long
Public ligne2 As Long
Sub Macro12(ligne1, ligne2)
'
' Macro12 Macro
' copie 14 tirages vers anonc
'


'
    Sheets("Feuil1").Range("C" & ligne1 & ":V" & ligne2).Copy
    Sheets("anonc").Range("X4").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
    Range("AL2").Select
End Sub
Sub bouton()
If ligne1 = 0 Then
  ligne1 = 10958
Else
  ligne1 = ligne1 + 1
End If
If ligne2 = 0 Then
  ligne2 = 10971
Else
  ligne2 = ligne2 + 1
End If
Call Macro12(ligne1, ligne2)
End Sub
 
Re : modifier contenu de macro avec autre macro

Bonjour jad73, pierrejean.


Une autre proposition, paramétrée et utilisant une formule nommée :​
VB:
Option Explicit
'Paramètres :
Const FOrig$ = "Feuil1", FDest$ = "anonc"
Const Plg$ = "C10958:V10971", Adr$ = "X4", Sel$ = "AL2"
Const Compteur$ = "Compteur"

Sub InitialiseCompteur()
'Remet le Compteur à zéro.

    With ThisWorkbook
      .Names.Add Name:=Compteur, RefersTo:="=0"
      .Names(Compteur).Comment = "Décalage de Worksheets(""" & FOrig & """).Range(""" & Plg & """)"
    End With
End Sub

Sub IncrémentCompteur()
'Incrémente le Compteur au pas de un.

  With ThisWorkbook.Names(Compteur): .RefersTo = "=" & 1 + Evaluate(.Value): End With
End Sub

Sub Macro12()

  With ThisWorkbook

'Copie la plage Plg décalée du nombre de lignes spécifié par le Compteur.

    .Worksheets(FOrig).Range(Plg).Offset(Evaluate(.Names(Compteur).Value)).Copy

    Application.ScreenUpdating = False
    With .Worksheets(FDest)
      .Range(Adr).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=True
      Application.CutCopyMode = False
      .Activate
      Application.ScreenUpdating = True
      .Range(Sel).Select
    End With
  End With
End Sub
Note : Le compteur est conservé à la fermeture du classeur.

Merci à jad73 de n'avoir pas fourni de support pour tester : on s’ennuierait ferme si on ne devait pas reconstituer le classeur !
(Pas grave : le temps des bénévoles, c'est gratos...)


Bonne journée.


ℝOGER2327
#7515


Samedi 21 Phalle 141 (Saint Erbrand, polytechnicien - fête Suprême Tierce)
14 Fructidor An CCXXII, 0,7506h - noix
2014-W35-7T01:48:06Z
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
759
Réponses
18
Affichages
534
Réponses
17
Affichages
1 K
Retour