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

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…