• Initiateur de la discussion Initiateur de la discussion corto76600
  • 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 !

C

corto76600

Guest
Bonjour à tous!

J'ai réalisé une macro dans le but de copier plusieurs cellule sur une feuil et pourvoir repporter le contenu dans une autre feuille quand je clique sur un bouton.Le but étant de construire un tableau au fur à mesure que les donnée de base vont changée seulement je ne compren pas se qui peu bloquer pourriez vous m'aider. Merci d'avance

Sub ReporterValeurs()
Dim FeuilBase As String, FeuilDest As String, PlageBase As Range, _
ColDest As Integer, PlageDest As Range, LigneDest As Long

FeuilBase = "Feuil1"

'cellules où se trouve les valeurs à copier
Set PlageBase = Sheets(FeuilBase).Range("G3:N3")

'Nom de la feuille qui va recevoir les valeurs
FeuilDest = "Control pannel"
'numéro de la 1ère Colonne dans laquelle on met les valeurs copiées
ColDest = 2 '(=colonne B)


'détermine la première cellule vide dans la feuille de destination
If Sheets(FeuilDest).Cells(2, ColDest).Value = "" Then
LigneDest = IIf(Sheets(FeuilDest).Cells(1, ColDest).Value = "", 1, 2)
Else
LigneDest = Sheets(FeuilDest).Cells("1", ColDest).End(xlDown).Row + 1
End If

'définit les cellules de destination
Set PlageDest = Sheets(FeuilDest).Range(Cells(LigneDest, ColDest), Cells(LigneDest, ColDest + 7))

PlageDest.Value = PlageBase.Value


End Sub
 
Re : Aide sur macro

Bonjour Corto et bienvenu dans le forum, bonjour le forum,

Je ne comprends pas où est le problème car ton code fonctionne très bien chez moi. Quelle est la ligne qui plante ?

Je me permet quand même de te proposer une version plus light de ton code :
Code:
Sub ReporterValeurs2()
Dim dest As Range
 
With Sheets("Control pannel")
    If .Range("B1").Value = "" Then
        Set dest = .Range("B1")
    Else
        Set dest = .Range("B65536").End(xlUp).Offset(1, 0)
    End If
End With
Range(dest, dest.Offset(0, 7)).Value = Sheets("Feuil1").Range("G3:N3").Value
End Sub
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
909
Réponses
4
Affichages
732
Réponses
1
Affichages
323
Réponses
3
Affichages
255
Retour