recopier plage dans x feuilles[résolu]

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

surplus

XLDnaute Occasionnel
Bonjour,
j'ai une plage dans une feuille nommée "Vehic"
=DECALER(Vehic!$A$1;1;;NBVAL(Vehic!$A:$A)-1)

est il possible de recopier les valeurs de cette zone dans 12 feuilles portant les noms des mois avec macro car les données de la plage peuvent varier assez souvent ?merci
a bientôt
 
Dernière édition:
Re : recopier plage dans x feuilles

Salut le forum

Dans le Gestionnaire de noms :
Vehicule fait référence à =DECALER(Vehic!$A$2;;;NBVAL(Vehic!$A:$A)-1)

Sur les feuilles saisir la plage A7:A14 et saisir =Vehicule valider la formule par CTRL + Shift + Enter

Mytå
 
Re : recopier plage dans x feuilles

Bonjour surplus, le fil,

Vous avez nommé flotte la plage à copier.

Mettez donc cette macro dans ThisWorbook :

Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim a
a = Array("Vehic", "BD", "An") 'feuilles à exclure
If IsError(Application.Match(Sh.CodeName, a, 0)) Then
  Sh.[A7].Resize([flotte].Count) = [flotte].Value
  Sh.Range("A" & [flotte].Count + 7 & ":A" & Rows.Count) = ""
End If
End Sub
S'il y a d'autres feuilles à exclure, mettez leur CodeName dans le tableau a.

A+
 
Re : recopier plage dans x feuilles

bonjour
merci de vos reponses
la solution de myta me laisse des #NA dans les cases vides
la macro de Job75 me correspond mieux
mais est il possible de la faire evoluer si dans la feuille Vehic la colonne H ligne du vehicule =N pour ne pas afficher ou le vehicule ou cacher la ligne ?
merci
 
Re : recopier plage dans x feuilles

Re,

Je comprends 😕 que vous voulez copier l'immatriculation uniquement s'il y a "O" en colonne H :

Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim a, tablo, R$(), i&, n&
a = Array("Vehic", "BD", "An") 'feuilles à exclure
If IsError(Application.Match(Sh.CodeName, a, 0)) Then
  tablo = [flotte].Resize(, 8) '8 colonnes A:H
  ReDim R(UBound(tablo), 0)
  For i = 1 To UBound(tablo)
    If UCase(tablo(i, 8)) = "O" Then
      R(n, 0) = tablo(i, 1)
      n = n + 1
    End If
  Next
  If n Then Sh.[A7].Resize(n) = R 'restitution
  Sh.Range("A" & n + 7 & ":A" & Rows.Count) = ""
End If
End Sub
L'exécution de la macro est rapide car elle utilise 2 tableaux VBA.

A+
 
- 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

Retour