VBA-Remplacer

Résolu
Monsieur_Malik Messages postés 19 Statut Membre -  
Monsieur_Malik Messages postés 19 Statut Membre -
Bonjour,
Apres avoir créer une macro me permettant de Copier des lignes d'un tableau et les ajouter à la suite je voudrai faire en sorte que certaines données se trouvant dans la partie a copier soient changé uniquement dans la partie qui sera collée en dessous de mon tableau. C'est a dire remplacer tous les "FXCORP" par des "FXMASS" mais seulement dans la partie qui sera ajouté a la suite de mon tableau. Voici ce que je suis parvenu a faire mais quand il sagit de remplacer c'est tout le tableau qui change.
je vous remercie d'avance pour votre aide.
Sub test()
Dim i As Integer
Dim arret As Boolean

i = 2

    Do
        If (ActiveSheet.Range("A" & i)) = "" Then
            arret = True
        Else
            i = i + 1
        End If
    Loop While arret = False
    
    Range("A" & i - 10 & ":DL" & i - 1).Copy
    Range("A" & i).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Dim Paste As Worksheet
For Each Paste In ThisWorkbook.Worksheets
    Paste.Cells.Replace What:="FXCORP-DA", Replacement:="FXMASS-DA"
Next Paste
End Sub 


Configuration: Windows / Chrome 70.0.3538.110

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

2 réponses

  1. danielc0 Messages postés 2192 Date d'inscription   Statut Membre Dernière intervention   287
     
    Bonjour,

    Essaie :

    Sub test()
    Dim i As Integer
    Dim arret As Boolean
    
    i = 2
    
    Do
    If (ActiveSheet.Range("A" & i)) = "" Then
    arret = True
    Else
    i = i + 1
    End If
    Loop While arret = False
    
    Range("A" & i - 10 & ":DL" & i - 1).Copy
    Range("A" & i).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Selection.Replace "FXCORP-DA", "FXMASS-DA"
    End Sub


    Cordialement.

    Daniel
    0
    1. Monsieur_Malik Messages postés 19 Statut Membre
       
      Merci beaucoup ça marche a merveille
      0
    2. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
       
      Bonjour,

      Il serait plus propre d'écrire :
      Sub test()
      Dim r As Range
        Set r = ActiveSheet.Columns(1).Find("*", , , , , xlPrevious).Offset(-9).Resize(10, 116)
        r.Copy r.Offset(10)
        r.Offset(10).Replace "FXCORP-DA", "FXMASS-DA"
      End Sub

      Edit : Ou si A1 est vide
      Sub test()
      Dim r As Range
        With ActiveSheet.Columns(1)
          Set r = .Find("", .Cells(2), , , , xlNext).Offset(-10).Resize(10, 116)
        End With
        r.Copy r.Offset(10)
        r.Offset(10).Replace "FXCORP-DA", "FXMASS-DA"
      End Sub
      0
      1. Monsieur_Malik Messages postés 19 Statut Membre > Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention  
         
        d'accord merci beaucoup pour vos reponses
        0
  2. Monsieur_Malik Messages postés 19 Statut Membre
     
    Une derniere chose je voudrais aussi que le resultat de la formule qui ce trouve dans la partie du tableau a copier soit figée comment faire?
    0
    1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
       
      Donc, dans ce cas la formule ne sera pas conservée :
      Sub test()
      Dim r As Range
        With ActiveSheet.Columns(1)
          Set r = .Find("", .Cells(2), , , , xlNext).Offset(-10).Resize(10, 116)
        End With
        r.Copy r.Offset(10)
        r.Offset(10).Value = r.Value
        r.Offset(10).Replace "FXCORP-DA", "FXMASS-DA"
      End Sub
      0
    2. danielc0 Messages postés 2192 Date d'inscription   Statut Membre Dernière intervention   287
       
      Qu'est-ce que tu entends par "figé" ?

      Daniel
      0
    3. Monsieur_Malik Messages postés 19 Statut Membre
       
      Annuler la formule donc juste avoir le resultat quand je clique dans la cellule
      0
    4. Monsieur_Malik Messages postés 19 Statut Membre > Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention  
       
      Oui mais je veut que la formule soit annulée seulement dans la partie du tableau que je vais copier pas au niveau de la partie qui sara collée a la suite
      0
    5. Monsieur_Malik Messages postés 19 Statut Membre
       
      Les formules se trouvent en colonne G
      0