Transfert de données
#1
Aspirant XLPages

Inscription: 19/11/2011

Messages: 21

Système d'exploitation:
PC
Version Excel utilisée:
2010
Posté le : 08-01-2023 12h17

Bonjour tout le monde

mon projet avance petit à petit

Actuellement une macro me recopie toutes les données de ma feuille de calcul vers une autre feuille

Mon desir serait de pouvoir ajouter une page supplementaire dans mes devis car souvent les lignes actuelles sont insuffisantes.

Mon probleme est que quand je veux recopier j'ai un message qui me dit

" Trop de caractere de continuité de ligne"

au départ et ce qui va tres bien :

Sub Transfert()
Dim Ligne As Long
Dim colonne As Long
Dim Cellule As Range
Dim Lg
Dim Derli As Long
Dim i As Long, sStr As String, Ar() As String
'Application.ScreenUpdating = False
    Sheets("SAISIE").Select
    Sheets("ShArchive").Visible = True

    sStr = "I6,I5,C12,G8,H9,G10,h12,B15,C15,H15,I15,J15,K15," & _
           "B16,C16,H16,I16,J16,K16," & _
           "B17,C17,H17,I17,J17,K17,B18,C18,H18,I18,J18,K18," & _
           "B19,C19,H19,I19,J19,K19,B20,C20,H20,I20,J20,K20,B21,C21,H21,I21,J21,K21," & _
           "B22,C22,H22,I22,J22,K22,B23,C23,H23,I23,J23,K23,B24,C24,H24,I24,J24,K24," & _
           "B25,C25,H25,I25,J25,K25,B26,C26,H26,I26,J26,K26,B27,C27,H27,I27,J27,K27," & _
           "B28,C28,H28,I28,J28,K28,B29,C29,H29,I29,J29,K29,B30,C30,H30,I30,J30,K30," & _
           "B31,C31,H31,I31,J31,K31,B32,C32,H32,I32,J32,K32,B33,C33,H33,I33,J33,K33," & _
           "B34,C34,H34,I34,J34,K34,B35,C35,H35,I35,J35,K35,B36,C36,H36,I36,J36,K36," & _
           "B37,C37,H37,I37,J37,K37,B38,C38,H38,I38,J38,K38,B39,C39,H39,I39,J39,K39," & _
           "B40,C40,H40,I40,J40,K40,B41,C41,H41,I41,J41,K41,B42,C42,H42,I42,J42,K42," & _
           "B43,C43,H43,I43,J43,K43,B44,C44,H44,I44,J44,K44,B45,C45,H45,I45,J45,K45," & _
           "B46,C46,H46,I46,J46,K46,B47,C47,H47,I47,J47,K47,B48,C48,H48,I48,J48,K48," & _
           "B49,C49,H49,I49,J49,K49,B50,C50,H50,I50,J50,K50,B51,C51,H51,I51,J51,K51," & _
           "B52,C52,H52,I52,J52,K52,J54,B55,B56,B57," & _
           "C55,C56,C57,D55,D56,D57,F58,F59,J55,J56,J57,J58,j59"
   
    Ar = Split(sStr, ",")
    Ligne = Worksheets("ShArchive").Range("A" & Rows.Count).End(xlUp).Row + 1

    Lg = Application.Match(Range(Ar(0)), Sheets("ShArchive").Range("A1:A" & Ligne), 0)
  
    ' Si erreur : Pas de doublon
    ' sinon Lg contient la ligne en double
    If Not IsError(Lg) Then
  
      
        Ligne = Lg
      
    End If
  
    ' Remplit les colonnes
    For i = LBound(Ar) To UBound(Ar)
        colonne = colonne + 1
        Worksheets("ShArchive").CellS(Ligne, colonne) = Worksheets("SAISIE").Range(Ar(i))
    Next i
    'ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

End Sub

j'aimerai pouvoir etendre cette sauvegarde jusqu'a:

sStr = "I6,I5,C12,G8,H9,G10,h12,B15,C15,H15,I15,J15,K15," & _
           "B16,C16,H16,I16,J16,K16," & _
           "B17,C17,H17,I17,J17,K17,B18,C18,H18,I18,J18,K18," & _
           "B19,C19,H19,I19,J19,K19,B20,C20,H20,I20,J20,K20,B21,C21,H21,I21,J21,K21," & _
           "B22,C22,H22,I22,J22,K22,B23,C23,H23,I23,J23,K23,B24,C24,H24,I24,J24,K24," & _
           "B25,C25,H25,I25,J25,K25,B26,C26,H26,I26,J26,K26,B27,C27,H27,I27,J27,K27," & _
           "B28,C28,H28,I28,J28,K28,B29,C29,H29,I29,J29,K29,B30,C30,H30,I30,J30,K30," & _
           "B31,C31,H31,I31,J31,K31,B32,C32,H32,I32,J32,K32,B33,C33,H33,I33,J33,K33," & _
           "B34,C34,H34,I34,J34,K34,B35,C35,H35,I35,J35,K35,B36,C36,H36,I36,J36,K36," & _
           "B37,C37,H37,I37,J37,K37,B38,C38,H38,I38,J38,K38,B39,C39,H39,I39,J39,K39," & _
           "B40,C40,H40,I40,J40,K40,B41,C41,H41,I41,J41,K41,B42,C42,H42,I42,J42,K42," & _
           "B43,C43,H43,I43,J43,K43,B44,C44,H44,I44,J44,K44,B45,C45,H45,I45,J45,K45," & _
           "B46,C46,H46,I46,J46,K46,B47,C47,H47,I47,J47,K47,B48,C48,H48,I48,J48,K48," & _
           "B49,C49,H49,I49,J49,K49,B50,C50,H50,I50,J50,K50,B51,C51,H51,I51,J51,K51," & _
           "B52,C52,H52,I52,J52,K52,B53,C53,H53,I53,J53,K53,B54,C54,H54,I54,J54,K54," & _
           "B55,C55,H55,I55,J55,K55,B56,C56,H56,I56,J56,K56,B57,C57,H57,I57,J57,K57," & _
           "B58,C58,H58,I58,J58,K58,B59,C59,H59,I59,J59,K59,B60,C60,H60,I60,J60,K60," & _
           "B61,C61,H61,I61,J61,K61,B62,C62,H62,I62,J62,K62,B63,C63,H63,I63,J63,K63," & _
           "B63,C63,H63,I63,J63,K63,B64,C64,H64,I64,J64,K64,B65,C65,H65,I65,J65,K65," & _
           "B66,C66,H66,I66,J66,K66,B85,C85,H85,I85,J85,K85,B86,C86,H86,I86,J86,K86," & _
           "B87,C87,H87,I87,J87,K87,B88,C88,H88,I88,J88,K88,B89,C89,H89,I89,J89,K89," & _
           "B90,C90,H90,I90,J90,K90,B91,C91,H91,I91,J91,K91,B92,C92,H92,I92,J92,K92," & _
           "B93,C93,H93,I93,J93,K93,B94,C94,H94,I94,J94,K94,B95,C95,H95,I95,J95,K95," & _
           "B95,C95,H95,I95,J95,K95,B96,C96,H96,I96,J96,K96,B97,C97,H97,I97,J97,K97," & _
           "B98,C98,H98,I98,J98,K98,B99,C99,H99,I99,J99,K99,B100,C100,H100,I100,J100,K100," & _
           "B101,C101,H101,I101,J101,K101,B102,C102,H102,I102,J102,K102,B103,C103,H103," & _
           "I103,J103,K103,B104,C104,H104,I104,J104,K104,B105,C105,H105,I105,J105,K105," & _
           "B106,C106,H106,I106,J106,K106,B107,C107,H107,I107,J107,K107,B108,C108,H108," & _
           "I108,J108,K108,B109,C109,H109,I109,J109,K109,B109,C109,H109,I109,J109,K109," & _
           "B110,C110,H110,I110,J110,K110,B111,C111,H111,I111,J111,K111,B112,C112,H112," & _
		   "I112,J112,K112,B113,C113,H113,I113,J113,K113,B114,C114,H114,I114,J114,K114," & _
           "B115,C115,H115,I115,J115,K115,B116,C116,H116,I116,J116,K116,B117,C117,H117," & _
           "I117,J117,K117,B118,C118,H118,I118,J118,K118,B119,C119,H119,I119,J119,K119," & _
           "B121,C121,H121,I121,J121,K121,B122,C122,H122,I122,J122,K122,B120,C120,H120," & _
           "I120,J120,K120,J124,B125,B126,B127," & _
           "C125,C126,C127,D125,D126,D127,F128,F129,J125,J126,J127,J128,j129"

y a t'il un moyen de contourner cette erreur ?

Merci et bon dimanche à tous

Hors Ligne
Rapport   Haut 

Re: Transfert de données
#2
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 08-01-2023 12h54

Bonjour tactic6, le Forum,

 

On en apprend tous les jours... Et moi, je découvre aujourd'hui cette limitation VBA que je n'avais pour ma part jamais rencontré encore ! surprise

Donc, tout d'abord merci à toi tactic6 pour cette découverte, c'est toujours intéressant à savoir.

 

Du coup, une petite recherche dans la doc Microsoft et tu tomberas sur cet article :

Nombre de continuités de ligne trop élevé

Le nombre de lignes que vous pouvez joindre avec des caractères de continuation de ligne est limité. Cause et solution de ce problème :

  • Votre code possède plus de 25 lignes physiques jointes avec des caractères de continuation de ligne ou plus de 24 caractères de continuation de ligne consécutifs sur une seule ligne. Allongez physiquement les lignes existantes pour réduire le nombre de caractères de continuation de ligne ou décomposez la construction en plusieurs instructions.

 

Pour rappel, utiliser des caractères de continuité de ligne n'est pas une obligation, c'est tout simplement une façon plus élégante de présenter du code afin qu'il soit plus facile à lire et à comprendre.

Tu devrais donc pouvoir prolonger tes lignes pour contourner cette limitation dans l'éditeur.

 

De mémoire (à vérifier) je crois que l'éditeur VBE est limité à 1024 caractères sur une même ligne.

 

Bien cordialement,


Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: Transfert de données
#3
Aspirant XLPages

Inscription: 19/11/2011

Messages: 21

Système d'exploitation:
PC
Version Excel utilisée:
2010
Posté le : 08-01-2023 14h58

Merci

je vais donc me servir de l'enregistreur pour en faire une autre

Hors Ligne
Rapport   Haut 

Re: Transfert de données
#4
Semi pro XLPages

Inscription: 12/06/2008
De Ile de France Sud

Messages: 145

Système d'exploitation:
PC
Version Excel utilisée:
2003 _ 2010
Posté le : 08-01-2023 20h56

Bonsoir tactic6, 
Bonsoir Didier

Je ne suis pas certain d'avoir compris ce que tu veux faire (je n'ai pas tout décortiqué) : créer une image "partielle" de la feuille "saisie" vers la feuille "archive" ET au même emplacement ?  Si c'est cela, je regarderai du côté des "tableaux", comme ceci :

Sub tableau_plage()
  Dim P1
  P1 = Feuil1.Range("B15:C129").Value
  Feuil2.Range("B15:C129").Value = P1    ' on pourrait écrire :       Feuil2.Range("B300:C414").Value = P1
  P2 = Feuil1.Range("H15:K129").Value
  Feuil2.Range("H15:K129").Value = P2
End Sub

Une autre idée :

Sub Copie()
  '  Range("b1:c1", "f1:j1").Copy Range("B" & ActiveCell.Row - 1)
  '  Range("G1", "J1").Copy Range("B" & ActiveCell.Row)
End Sub

Il restera à traiter les cellules éparses.

A toi d'adapter

Eric

Hors Ligne
Rapport   Haut 

Re: Transfert de données
#5
Aspirant XLPages

Inscription: 19/11/2011

Messages: 21

Système d'exploitation:
PC
Version Excel utilisée:
2010
Posté le : 09-01-2023 09h59

Bonjour Eric merci de ta participation

Pour le moment je n'ai pas réussi à réaliser cette commande

Le probleme vient de la grosse quantité de cellule à traiter ( je suppose)

J'ai essayé avec Range, array  mais rien n'y fait

 

Pour faire simple

J'ai une plage de cellule que j'aimerai recopier à l'horizontale à la suite de la premiere ligne non remplie de la feuille Archives

cette plage est composée d'environ 600 cellules à copier coller

soit:

I6,I5,C12,G8,H9,G10,h12,B15,C15,H15,I15,J15,K15,B16,C16,H16,I16,J16,K16,B17,C17,H17,I17,J17,K17,B18,C18,H18,I18,J18,K18,           B19,C19,H19,I19,J19,K19,B20,C20,H20,I20,J20,K20,B21,C21,H21,I21,J21,K21,B22,C22,H22,I22,J22,K22,B23,C23,H23,I23,J23,K23,B24,C24,H24,I24,J24,K24,           B25,C25,H25,I25,J25,K25,B26,C26,H26,I26,J26,K26,B27,C27,H27,I27,J27,K27,B28,C28,H28,I28,J28,K28,B29,C29,H29,I29,J29,K29,B30,C30,H30,I30,J30,K30,           B31,C31,H31,I31,J31,K31,B32,C32,H32,I32,J32,K32,B33,C33,H33,I33,J33,K33,B34,C34,H34,I34,J34,K34,B35,C35,H35,I35,J35,K35,B36,C36,H36,I36,J36,K36,           B37,C37,H37,I37,J37,K37,B38,C38,H38,I38,J38,K38,B39,C39,H39,I39,J39,K39,B40,C40,H40,I40,J40,K40,B41,C41,H41,I41,J41,K41,B42,C42,H42,I42,J42,K42,           B43,C43,H43,I43,J43,K43,B44,C44,H44,I44,J44,K44,B45,C45,H45,I45,J45,K45,B46,C46,H46,I46,J46,K46,B47,C47,H47,I47,J47,K47,B48,C48,H48,I48,J48,K48,           B49,C49,H49,I49,J49,K49,B50,C50,H50,I50,J50,K50,B51,C51,H51,I51,J51,K51,B52,C52,H52,I52,J52,K52,B53,C53,H53,I53,J53,K53,B54,C54,H54,I54,J54,K54,           B55,C55,H55,I55,J55,K55,B56,C56,H56,I56,J56,K56,B57,C57,H57,I57,J57,K57,B58,C58,H58,I58,J58,K58,B59,C59,H59,I59,J59,K59,B60,C60,H60,I60,J60,K60,           B61,C61,H61,I61,J61,K61,B62,C62,H62,I62,J62,K62,B63,C63,H63,I63,J63,K63,B63,C63,H63,I63,J63,K63,B64,C64,H64,I64,J64,K64,B65,C65,H65,I65,J65,K65,           B66,C66,H66,I66,J66,K66,B85,C85,H85,I85,J85,K85,B86,C86,H86,I86,J86,K86,B87,C87,H87,I87,J87,K87,B88,C88,H88,I88,J88,K88,B89,C89,H89,I89,J89,K89,           B90,C90,H90,I90,J90,K90,B91,C91,H91,I91,J91,K91,B92,C92,H92,I92,J92,K92,B93,C93,H93,I93,J93,K93,B94,C94,H94,I94,J94,K94,B95,C95,H95,I95,J95,K95,          B95,C95,H95,I95,J95,K95,B96,C96,H96,I96,J96,K96,B97,C97,H97,I97,J97,K97,B98,C98,H98,I98,J98,K98,B99,C99,H99,I99,J99,K99,B100,C100,H100,I100,J100,K100,           B101,C101,H101,I101,J101,K101,B102,C102,H102,I102,J102,K102,B103,C103,H103,I103,J103,K103,B104,C104,H104,I104,J104,K104,B105,C105,H105,I105,J105,K105,           B106,C106,H106,I106,J106,K106,B107,C107,H107,I107,J107,K107,B108,C108,H108,I108,J108,K108,B109,C109,H109,I109,J109,K109,B109,C109,H109,I109,J109,K109,           B110,C110,H110,I110,J110,K110,B111,C111,H111,I111,J111,K111,B112,C112,H112,I112,J112,K112,B113,C113,H113,I113,J113,K113,B114,C114,H114,I114,J114,K114,       B115,C115,H115,I115,J115,K115,B116,C116,H116,I116,J116,K116,B117,C117,H117,I117,J117,K117,B118,C118,H118,I118,J118,K118,B119,C119,H119,I119,J119,K119,           B121,C121,H121,I121,J121,K121,B122,C122,H122,I122,J122,K122,B120,C120,H120,I120,J120,K120,J124,B125,B126,B127,C125,C126,C127,D125,D126,D127,F128,F129,J125,J126,J127,J128,j129

 

une idée ??

 

Hors Ligne
Rapport   Haut 

Re: Transfert de données
#6
Aspirant XLPages

Inscription: 19/11/2011

Messages: 21

Système d'exploitation:
PC
Version Excel utilisée:
2010
Posté le : 09-01-2023 12h16

Voici la solution si un jour ça vous arrive

faire des lignes de texte plus longues pour avoir moins de trait de continuation '_'

comme ceci

"I6,I5,C12,G8,H9,G10,h12,B15,C15,H15,I15,J15,K15,B16,C16,H16,I16,J16,K16,B17,C17,H17,I17,J17,K17,B18,C18,H18,I18,J18,K18,B19,C19,H19,I19,J19,K19," & _

Merci à tous

Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes