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

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

S

sniper

Guest
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

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

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)
 
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

Dernière modification par un modérateur:
- 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

Retour