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

Problème de macro

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 !

speedtriple

XLDnaute Junior
Bonjour,

Je suis à la recherche d’une macro pour faire une copie d’un tableau X d’une feuille d’un classeur dans un autre tableau Y avec une mise en page différente sur une autre feuille du même classeur.
La mise en page de mon tableau Y n’est pas définitive, je suis juste au essai. Mon but est au faire à mesure des années, il me suffira de remplir un textbox pour définir quelle année je veux mettre dans mon calendrier (tableau Y).
Un userform est ouvert via le bouton 4, et dans cet userform, je dois rentrer le nom du tableau que je souhaite coller dans mon tableau Y. Le nom du tableau est le nom de la feuille.

Mon problème est que je n’arrive pas à copier/coller de tableau à tableau via une macro (bouton 6). Je ne comprends pas car elle bloque sur l’action selection.copy.
Et je n’ai pas réussi à trouver le code pour lui envoyer le nom inscrit dans le textbox dans ma macro .

Ci-joint, mon fichier exemple.

Merci pour votre aide.
 
Dernière édition:
Re : Problème de macro

Bonjour SpeedTriple,

voici la macro corrigée, sans select, cela devrait aller plus vite (3 fois?😉)

Appelée sur évènement click du commandbutton:

Code:
Private Sub CommandButton1_Click()
If TextBox1.Text <> "" Then Macro5 TextBox1.Text
End Sub

Code:
Sub Macro5(NomFeuille As String)
'
' Macro5 Macro
' Macro enregistrée le 25/08/2008 par Fabs
'
    Dim sh As Range
    On Error Resume Next
    Set sh = ThisWorkbook.Sheets(NomFeuille)
    On Error GoTo 0
    If sh Is Nothing Then
        MsgBox "La feuille ' " & NomFeuille & "' est introuvable.", vbExclamation, "MAcro5"
        Exit Sub
    End If
    sh.Range("B2:D32").Copy
    Sheets("Mini").Range("A2").PasteSpecial Paste:=xlFormulas, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    sh.Range("E2:G30").Copy
    Sheets("Mini").Range("E2").PasteSpecial Paste:=xlFormulas, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    sh.Range("H2:J32").Copy
    Sheets("Mini").Range("I2").PasteSpecial Paste:=xlFormulas, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    sh.Range("K2:M31").Copy
    Sheets("Mini").Range("M2").PasteSpecial Paste:=xlFormulas, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    sh.Range("N2:P32").Copy
    Sheets("Mini").Range("Q2").PasteSpecial Paste:=xlFormulas, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    sh.Range("Q2:S31").Copy
    Sheets("Mini").Range("U2").PasteSpecial Paste:=xlFormulas, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
End Sub

A bientôt
 
Dernière modification par un modérateur:
Re : Problème de macro

Bonjour le fil, bonjour le forum,

Hasco, que je tape 2008 ou 2009 la variable sh me renvoie Nothing et donc j'ai toujours le message "Feuille introuvable"... Je ne comprends pas ???
 
Re : Problème de macro

Bonjour,

Autant pour moi🙄,

Il faut remplacer la ligne

Code:
Dim sh As Range
par:

Code:
Dim sh As Worksheet

En tête de macro.

A bientôt
 
Re : Problème de macro

Bonjour le fil, bonjour le forum,

Ben oui ! Pourtant je lisais et relisais le code sans comprendre... Évidemment ça ne m'est pas venu à l'esprit. Merci.
 
- 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
2
Affichages
242
  • Question Question
Microsoft 365 problème d'index
Réponses
19
Affichages
498
D
  • Question Question
Réponses
5
Affichages
250
Didierpasdoué
D
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…