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

Aide et modif code vba(RESOLU)

chaelie2015

XLDnaute Accro
Bonsoir
je souhaite encore développer le code de PAF ( Merci) ( le lien :https://www.excel-downloads.com/threads/transfere-copier-renommer.227757/)
ci dessous le code complet
PHP:
Private Sub CommandButton6_Click()
 Dim DerLig As Integer, NumLig As Integer, WCible As Worksheet, TabTmp, FeuilleExistante
    
    Application.ScreenUpdating = False
    Sheets("Canevas").Visible = True
  
  With Worksheets("FNA")

  'vérifie que la feuille à créer n'existe pas
     FeuilleExistante = IsError(Evaluate("='" & .Range("T10") & "'!A1"))
     If Not FeuilleExistante Then
         MsgBox " impossible de poursuivre. La feuille " & .Range("T10") & " existe déjà"
         Exit Sub
     End If

  'Création nouvelle feuille
      
      Worksheets("Canevas").Copy After:=Worksheets(Worksheets.Count)
     
      ActiveSheet.Name = .Range("T10")
      Set WCible = ActiveSheet
      MsgBox " Une Copie de la Note " & .Range("T10") & " a été crée."
      WCible.Visible = xlVeryHidden
      
  ' Copie des données
      DerLig = .Range("B" & Rows.Count).End(xlUp).Row
      TabTmp = .Range("B25:B" & DerLig)
      WCible.Range("B14").Resize(UBound(TabTmp)) = TabTmp
      
  'copie des différentes cellules
      WCible.Range("D2") = .Range("E14") 
      WCible.Range("E4") = .Range("E15") 
      WCible.Range("E6") = .Range("E13") 
      WCible.Range("E8") = .Range("M17") 
      WCible.Range("K8") = .Range("Q22") '
      WCible.Range("B10") = .Range("T10") 
      WCible.Range("H10") = .Range("T9") 
      WCible.Range("E12") = .Range("T20") 
      '..... à compléter
      
  End With
  
   Sheets("Canevas").Visible = xlVeryHidden
    Application.ScreenUpdating = True
 
 CommandButton_valider_note.Visible = True
End Sub

la partie concernée est
PHP:
  ' Copie des données 
      DerLig = .Range("B" & Rows.Count).End(xlUp).Row
      TabTmp = .Range("B25:B" & DerLig)
      WCible.Range("B14").Resize(UBound(TabTmp)) = TabTmp
je souhaite ajouté d'autre plages et les limitées
la 1 plage est de B25:B40
la 2eme plage de B47:B56
et la 3 eme plage de B58:B67
Salutations
 
Dernière édition:

chaelie2015

XLDnaute Accro
Re : Aide et modif code vba

Re paf
merci encore pour la réponse rapide, si tu permets le message du post#8 on j'ai fait un exemple je l'ai donné a titre exemple c a d je peux avoir d'autre lignes différentes de ceux ci ,qui sont vide.
Salutations
 

Paf

XLDnaute Barbatruc
Re : Aide et modif code vba

Re

qu'est ce qui ne fonctionne pas cette fois ?

ce que j'ai compris du besoin:

il y a 3 plages de données :B25:B40, B47:B56, B58:B67 dont il faut copier les données dans une aitre feuille.
dans ces plages il peut y avoir des lignes vides qu'il ne faut pas copier.

C'est ce que fait le code proposé, dans la mesure où, s'il y a des lignes non vides , ces lignes sont placées en début de plage.

S'il s'agit de cellules éparpillées en colonne B, je ne sais pas faire.

A+
 

Discussions similaires

Réponses
8
Affichages
673
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…