Salut le forum,
Je suis confronté à un nouveau problème sur lequel je me casse les dents:
- je voudrais copier une plage de données d'une feuille avec un nom d'onglet variable dans une autre feuille avec un nom d'onglet fixe.
Le problème vient du fait que je ne connais pas à l'avance les noms des onglets.
Tout ce que je peux dire c'est que le nom se trouvera dans la cellule O2 de ma feuille à nom variable.
Ma macro arrive à trouver la plage de destination mais pas celle de départ.
Voici le code (mon fichier est vraiment trop lourd pour le mettre désolé):
Private Sub CommandButton1_Click() 'bouton "Copier"
Dim pl As Range 'déclare la variable pl (PLage)
Dim dest As Range 'déclare la variable dest (DESTination)
ActiveCell.Select 'enlève le focus au bouton
With Sheets(Range("O2").Value) 'prend en compte l'onglet
Set pl = Sheets(Range("O2").Value).Range("S25:S30") 'définit la plage pl
Set dest = Sheets("Comparatif BPE").Range("IV6").End(xlToLeft).Offset(0, 1) 'définit la cellule de destination
End With 'fin de la prise en compte de l'onglet "Feuil1"
pl.Copy dest 'copie la plage pl dans la cellule de destination
End Sub
Merci de votre aide.
Yoyobat
Je suis confronté à un nouveau problème sur lequel je me casse les dents:
- je voudrais copier une plage de données d'une feuille avec un nom d'onglet variable dans une autre feuille avec un nom d'onglet fixe.
Le problème vient du fait que je ne connais pas à l'avance les noms des onglets.
Tout ce que je peux dire c'est que le nom se trouvera dans la cellule O2 de ma feuille à nom variable.
Ma macro arrive à trouver la plage de destination mais pas celle de départ.
Voici le code (mon fichier est vraiment trop lourd pour le mettre désolé):
Private Sub CommandButton1_Click() 'bouton "Copier"
Dim pl As Range 'déclare la variable pl (PLage)
Dim dest As Range 'déclare la variable dest (DESTination)
ActiveCell.Select 'enlève le focus au bouton
With Sheets(Range("O2").Value) 'prend en compte l'onglet
Set pl = Sheets(Range("O2").Value).Range("S25:S30") 'définit la plage pl
Set dest = Sheets("Comparatif BPE").Range("IV6").End(xlToLeft).Offset(0, 1) 'définit la cellule de destination
End With 'fin de la prise en compte de l'onglet "Feuil1"
pl.Copy dest 'copie la plage pl dans la cellule de destination
End Sub
Merci de votre aide.
Yoyobat