certaine colonnes d'un classeur ne se rajoute pas de façon automatique dans un autre

sniper

XLDnaute Nouveau
Bonjour,

J'ai un problème, je voudrais de l'aide j'aimerais que dans le classeur "prog" les colonne de M à U ne se rajoutent pas automatiquement dans le classeur "cotations" lorsque j'appuie dans le bouton 1 .
Merci bcp de toutes aide que vous pouvez m'apportez ;)
 

Pièces jointes

  • prog.xlsm
    51.1 KB · Affichages: 27
  • Cotations.xlsx
    157.1 KB · Affichages: 25
  • prog.xlsm
    51.1 KB · Affichages: 28
  • Cotations.xlsx
    157.1 KB · Affichages: 31
  • prog.xlsm
    51.1 KB · Affichages: 27
  • Cotations.xlsx
    157.1 KB · Affichages: 31

vgendron

XLDnaute Barbatruc
Re : certaine colonnes d'un classeur ne se rajoute pas de façon automatique dans un a

Salut sniper,

je ne vois pas trop où tes colonnes M à U sont copiées.. et comme ta macro ouvre des fichiers que nous n'avons pas. pas facile
cependant,

Code:
Sub copier()                                                                                                               'déclarations des variables'
    Dim wbkc As Workbook, adr$, fin&, x$, wbks As Workbook, fin1&, i&, n$          'récupération du chemin du classeur en cours'
    adr = ThisWorkbook.Path                                                                                     'récupération de l'année en cours'
    Application.ScreenUpdating = 0
    Set wbks = ThisWorkbook
    x = Year(Date)
    Set wbkc = Workbooks.Open(adr & ":Cotations.xlsx") 'mac                                  'ouvre le fichier Cotations.xlsx'
    'Set wbkc = Workbooks.Open(adr & "\Cotations.xlsx")
    wbkc.Sheets(x).Select
    With wbkc.Sheets(x)
        fin = .Cells.Find("*", , xlValues, , 1, 2, 0).Row + 1
    End With
    With wbks.Sheets("Final")
        fin1 = .Cells.Find("*", , xlValues, , 1, 2, 0).Row + 1
    End With
    For i = fin1 To 2 Step -1
        If wbks.Sheets("Final").Cells(i, 2) <> "" Then
            wbks.Sheets("Final").Rows(i).Copy wbkc.Sheets(x).Rows(fin)
            fin = fin + 1
        End If
    Next i
    With wbks.Sheets("Final")
        fin1 = .Cells.Find("*", , xlValues, , 1, 2, 0).Row
    End With
    wbkc.Close 1                                                                                                      'ferme le classeur'
    'Set wbkc = Workbooks.Open(adr & "\Vsatech.xlsx")                                         'ouvre le fichier Vsatech.xlsx'
    Set wbkc = Workbooks.Open(adr & ":Vsatech.xlsx") 'mac
    wbkc.Sheets("Feuil1").Cells(4, 1) = CDate(wbks.Sheets("Final").Cells(fin1, 1))
    wbkc.Sheets("Feuil1").Cells(4, 3) = wbks.Sheets("Final").Cells(fin1, 2)
    wbkc.Sheets("Feuil1").Cells(3, 9) = wbks.Sheets("Final").Cells(fin1, 4)
    wbkc.Sheets("Feuil1").Cells(14, 3) = wbks.Sheets("Final").Cells(fin1, 9)
    'wbkc.Sheets("Feuil1").Cells(14, 1) = wbks.Sheets("Final").Cells(fin1, 15) 'colonne O
    wbkc.Sheets("Feuil1").Cells(14, 12) = "135 days" 'wbks.Sheets("Final").Cells(fin1, 4)
    'wbkc.Sheets("Feuil1").Cells(14, 14) = wbks.Sheets("Final").Cells(fin1, 16) 'colonne P
    n = wbks.Sheets("Final").Cells(fin1, 6) & " " & wbks.Sheets("Final").Cells(fin1, 7) & " " & wbks.Sheets("Final").Cells(fin1, 8)
    wbkc.Sheets("Feuil1").Cells(14, 5) = n
    wbkc.Close 1                                                                                                      'ferme le classeur'
    MsgBox "C'est Copié dans Vsatech et dans Cotations", , "Copie Terminée"                ' Affichage du message "copié dans Vsatech et dans Cotations" '
End Sub

Si tu lances la macro pas à pas (avec touche F8), tu devrais pouvoir détecter à quel moment tes colonnes sont copiées. ainsi, tu n'as plus qu'à les désactiver en les mettant en commentaire.
comme j'ai fait avec les colonnes O et P ci dessus
 

sniper

XLDnaute Nouveau
Re : certaine colonnes d'un classeur ne se rajoute pas de façon automatique dans un a

salut vgendron,
j'ai mis le dernier document que ma macro utilise comme çà tu peut voir . J'ai essayé de mettre les colonnes O et P en commentaires mais çà me les rajoutent toujours dans le classeur "cotations" . Alors que moi j veux que çà rajoutent les colonnes A à L dans le classeur "cotations" .
merci bcp ;)
 

Pièces jointes

  • Vsatech.xlsx
    61.4 KB · Affichages: 24
  • Vsatech.xlsx
    61.4 KB · Affichages: 22
  • Vsatech.xlsx
    61.4 KB · Affichages: 19

vgendron

XLDnaute Barbatruc
Re : certaine colonnes d'un classeur ne se rajoute pas de façon automatique dans un a

bon. en y regardant de plus près.. c'est ici que ca se passe
Code:
For i = fin1 To 2 Step -1
        If wbks.Sheets("Final").Cells(i, 2) <> "" Then
            wbks.Sheets("Final").Rows(i).Copy wbkc.Sheets(x).Rows(fin)
            fin = fin + 1
        End If
    Next i

et plus particulièrement avec cette ligne
Code:
wbks.Sheets("Final").Rows(i).Copy wbkc.Sheets(x).Rows(fin)

ici tu copies TOUTE la ligne i

et toi tu ne veux que les colonnes A à L de la ligne i
il suffit donc de remplacer la ligne précédente par celle ci

Code:
wbks.Sheets("Final").Range("A" & i & ":L" & i).Copy wbkc.Sheets(x).Rows(fin)
 

sniper

XLDnaute Nouveau
Re : certaine colonnes d'un classeur ne se rajoute pas de façon automatique dans un a

salut vgendron,
j'aimerai dans mon programme que les cases du classeur "Vsatech" s'ajuste à la longueur des donnée saisie
merci bcp de votre aide ;)
 

Pièces jointes

  • prog.xlsm
    55 KB · Affichages: 17
  • Vsatech.xlsx
    61.5 KB · Affichages: 22
  • prog.xlsm
    55 KB · Affichages: 18
  • Vsatech.xlsx
    61.5 KB · Affichages: 19
  • prog.xlsm
    55 KB · Affichages: 17
  • Vsatech.xlsx
    61.5 KB · Affichages: 22
Dernière édition:

Discussions similaires