Macro exécuté en 2 temps

Spail Messages postés 5 Statut Membre -  
Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   -
Bonsoir,
Je dois créer une macro me permettant d'actualiser mon tableau dans la feuille 1 puis recopier une colonne de ce tableau dans la feuille 2. Au passage les chiffres du tableau 1 comportant des points dans ses nombre, j'en profite pour les remplacer par des virgules. Malheureusement lorsque j'éxécute ma macro (que ce soit depuis un bouton ou directement) elle ne fait qu'actualiser, je suis obligé de la relancer pour avoir un transfert dans le second classeur. J'ai essayé plusieurs variantes comme call mais rien a faire.
En espérant que vous puissiez m'aider!
Voici mon code:

Sub j'en_ai_marre()

Sheets("Feuil1").Select
ActiveWorkbook.RefreshAll
Range("G2:G41").Copy Sheets("Feuil2").Range("B1")
Sheets("Feuil2").Select
Range("B1:B40").Select
Selection.Replace What:=".", Replacement:="."

End Sub

4 réponses

  1. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Bonjour,

    je ne comprends pas ton problème parce que ton code fonctionne parfaitement
    Sub j() 'en_ai_marre()
    ActiveWorkbook.RefreshAll
    Sheets("Feuil1").Range("G2:G41").Copy Sheets("Feuil2").Range("B1")
    Sheets("Feuil2").Select
    Range("B1:B40").Replace What:=".", Replacement:="."
    End Sub

    par contre dans ta demande du parle de "je suis obligé de la relancer pour avoir un transfert dans le second classeur"
    s'agit il d'un autre classeur ou sur la feuille suivante
    0
    1. Spail Messages postés 5 Statut Membre
       
      Lorsque je lance cette macro, elle actualise les données et je suis obligé de la relancer une seconde fois pour qu'elle copie colle dans la feuille 2
      0
    2. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
       
      Re,

      bizarre, je l'ai testé et je viens de la retester encore à l'instant, je lance et le code qui copie les données de la feuille1 sur la feuille 2 et remplace le point par la virgule sur la feuille 2 en une seule et unique opération
      je ne vois pas pourquoi sur ton système tu es obligé de relancer le code
      0
    3. Spail Messages postés 5 Statut Membre
       
      C'est pas grave merci beaucoup en tout cas!
      0
  2. Maurice
     
    Bonjour
    voir aussi comme ca
    Sub J2()
    L1 = 1
    Sheets("Feuil1").Select
       For L = 2 To 41
          Sheets("Feuil2").Range("B" & L1).Value = Val(Range("G" & L).Value)
          L1 = L1 + 1
       Next
    Sheets("Feuil2").Select
    End Sub
    

    A+
    Maurice
    0
    1. Spail Messages postés 5 Statut Membre
       
      Merci pour ta réponse Maurice, malheureusement quand je rajoute le code pour actualiser cela me transfert les anciennes données et non les actualisées que je désire
      0
  3. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    je pense que tu as un problème avec ton fichier, ferme Excel et ouvre le à nouveau et
    colle un code dans un nouveau fichier et saisir des données avec un point
    comme séparateur de décimale dans ta plage G2:G41 et active le code voir
    A+
    Mike-31

    Une période d'échec est un moment rêvé pour semer les graines du savoir.
    0
  4. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
     
    Bonjour,

    Tu parles de 2 classeurs mais dans ton code il n'est fait référence qu'à un seul !!!
    0