Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Feuille active

farid

XLDnaute Occasionnel
Bonjour,
actuellement j'ai ces deux macros qui fonctionnent très bien , Cependant est ce possible que ces deux macros puissent être actives sur la feuille active et non sur la ou les feuilles écrient sur la ligne de commande de la macro :

la première :

Private Sub CommandButton53_Click()
Worksheets("Feuille_modèle").Columns("19").Replace _
What:="", Replacement:="Contrat", _
SearchOrder:=xlByColumns, MatchCase:=True
End Sub


la deuxième :

Sub copier_cell2()

Dim ws As Worksheet
Application.DisplayAlerts = False
'On vient ensuite boucler sur chaque feuille du classeur voulu
For Each ws In ThisWorkbook.Worksheets

With ws
If .CodeName <> "Feuil1" And .CodeName <> "Feuil2" And .CodeName <> "Feuil3" And .CodeName <> "Feuil4" And .CodeName <> "Feuil9" Then
'Pour ensuite transférer la valeur de la cellule A2 vers la cellule E2 de chaque feuille
ws.Range("W3").FormulaArray = "=IFERROR(Lecteur(R3C2)&"":\Méthode\Devis prestataire\""&INDEX(PARAM!R2C2:R12C2,MATCH(R3C2,PARAM!R2C2:R12C2,0)),"""")"
End If
End With

'On passe à la feuille suivante
Next ws

'**********ATTENTION OBLIGATOIRE*******
Application.DisplayAlerts = True '<== ATTENTION OBLIGATOIRE
'**************************************

End Sub

Par avance , merci
bonne journée
 
Solution
Re,

pour la 2ème sub, essaye :

VB:
Sub copier_cell2()

  Dim ws As Worksheet
  Application.DisplayAlerts = False
  'On vient ensuite boucler sur chaque feuille du classeur voulu
  For Each ws In ThisWorkbook.Worksheets

    With ws
      If .CodeName <> "Feuil1" And .CodeName <> "Feuil2" And .CodeName <> "Feuil3" And .CodeName <> "Feuil4" And .CodeName <> "Feuil9" Then
        'Pour ensuite transférer la valeur de la cellule A2 vers la cellule E2 de chaque feuille
        Range("W3").FormulaArray = "=IFERROR(Lecteur(R3C2)&"":\Méthode\Devis prestataire\""&INDEX(PARAM!R2C2:R12C2,MATCH(R3C2,PARAM!R2C2:R12C2,0)),"""")"
      End If
    End With

    'On passe à la feuille suivante
  Next ws

  '**********ATTENTION OBLIGATOIRE*******...

soan

XLDnaute Barbatruc
Inactif
Bonjour farid,

pour la 1ère macro, essaye :

VB:
Private Sub CommandButton53_Click()
  ActiveSheet.Columns(19).Replace _
  What:="", Replacement:="Contrat", _
  SearchOrder:=xlByColumns, MatchCase:=True
End Sub

tu peux essayer aussi :

VB:
Private Sub CommandButton53_Click()
  ActiveSheet.Columns("S").Replace _
  What:="", Replacement:="Contrat", _
  SearchOrder:=xlByColumns, MatchCase:=True
End Sub

soan
 

Eric C

XLDnaute Barbatruc
Bonjour le forum
Bonjour farid...... Oupssssss.... Bonjour soan (javo pô rafraîchi)

A essayer :
Code:
ActiveSheet ou ActiveSheet.Name

Bonne journée à toutes & à tous
@+ Eric c
 
Dernière édition:

soan

XLDnaute Barbatruc
Inactif
Re,

pour la 2ème sub, essaye :

VB:
Sub copier_cell2()

  Dim ws As Worksheet
  Application.DisplayAlerts = False
  'On vient ensuite boucler sur chaque feuille du classeur voulu
  For Each ws In ThisWorkbook.Worksheets

    With ws
      If .CodeName <> "Feuil1" And .CodeName <> "Feuil2" And .CodeName <> "Feuil3" And .CodeName <> "Feuil4" And .CodeName <> "Feuil9" Then
        'Pour ensuite transférer la valeur de la cellule A2 vers la cellule E2 de chaque feuille
        Range("W3").FormulaArray = "=IFERROR(Lecteur(R3C2)&"":\Méthode\Devis prestataire\""&INDEX(PARAM!R2C2:R12C2,MATCH(R3C2,PARAM!R2C2:R12C2,0)),"""")"
      End If
    End With

    'On passe à la feuille suivante
  Next ws

  '**********ATTENTION OBLIGATOIRE*******
  Application.DisplayAlerts = True '<== ATTENTION OBLIGATOIRE
  '**************************************

End Sub

j'ai seulement mis une indentation, et enlevé le ws. qui était devant Range("W3)

soan
 

farid

XLDnaute Occasionnel
Bonsoir Soan ,Eric C
merci pour ce retour rapide et efficace.
Bien cordialement
 

Discussions similaires

Réponses
1
Affichages
433
Réponses
8
Affichages
881
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…