bogage entre deux feuilles d'un fichier

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

JPS28

XLDnaute Occasionnel
Bonjour le forum
Quelqu'un pourrait il m'aider sur ce bogage entres deux feuilles d'un fichier.Merci.

Option Explicit
Option Base 1
Public TabDonnees(8, 2) As Variant
Dim L As Byte
Dim DerLigne As Integer
Dim Ws_Source As Worksheet
Dim Ws_Cible As Worksheet
Sub Test()
Set Ws_Source = Worksheets("Facture")
Set Ws_Cible = Worksheets("Archive Fc")
TabDonnees(1, 1) = "A": TabDonnees(1, 2) = "I18"
TabDonnees(2, 1) = "B": TabDonnees(2, 2) = "I61"
TabDonnees(3, 1) = "C": TabDonnees(3, 2) = "K18"
TabDonnees(4, 1) = "D": TabDonnees(4, 2) = "C20"
TabDonnees(5, 1) = "F": TabDonnees(5, 2) = "G20"
TabDonnees(6, 1) = "G": TabDonnees(6, 2) = "K55"
TabDonnees(7, 1) = "H": TabDonnees(7, 2) = "F53"
TabDonnees(8, 1) = "K": TabDonnees(8, 2) = "K62"
DerLigne = Ws_Cible.Range("A65536").End(xlUp).Row + 1
For L = 1 To UBound(TabDonnees, 1)
With Ws_Cible.Range(TabDonnees(L, 1) & DerLigne)
.Value = Ws_Source.Range(TabDonnees(L, 2))
.Borders.LineStyle = xlSingle
End With
Ws_Source.Range(TabDonnees(L, 2)) = "" Next Le bogage ce trouve sur cette ligne?
Ws_Cible.Columns("B:C").NumberFormat = "dd-mmm-yy"
End Sub

Cordialement.
JPS.
 
Dernière édition:
Re : bogage entre deux feuilles d'un fichier

Bonjour,

Ca n'a rien à voir, mais peut-être devrais-tu mettre autre chose que "Byte" pour la définition de "DerLig" ?? un truc genre "Double" ??

Bizarre, je n'ai aucun bug. Chez moi (avec des feuilles vides), ton code fonctionne parfaitement, à condition de mettre le "Next" sur la lige suivante biensûr.
 
Dernière édition:
Re : bogage entre deux feuilles d'un fichier

Re Marcel32 le forum
Je te remercie de t'être penché sur mon probleme mais cela ne fonctionne pas peut être parce que ce rangement de "Facture""Archive Fc" est associé a un autre fichier qui fait que... n'étant pas un craque du VBA ça commence a me prendre la tête😡. Merci de ton aide.
Cordialement.
JPS
 
Re : bogage entre deux feuilles d'un fichier

Ah oui, c'est sûr que si tu fais référence à des feuilles qui sont dans un autre classeur, ce n'est pas bon. Il faut spécifier le nom du classeur et peut-être même qu'il faille que ledit classeur soit ouvert pour pouvoir utiliser ses feuilles.
 
Re : bogage entre deux feuilles d'un fichier

Bonsoir Marcel32 le forum.
Je te remercie du conseil mais ou placer l'appel de mes feuilles dans cette macro ? sachant que mes données viennent de la feuille Facture (Feuil1) et vont vers la feuille Archive Fc (feuil9).
Cordialement.Merci.
JPS
 
Re : bogage entre deux feuilles d'un fichier

Bonsoir JPS28, Marcel32,

Je n'ai pas tout compris dans ton code, mais je pense que ton problème vient tout simplement du Next mal placé (ce que t'a dit Marcel32 plus haut d'ailleurs).

Post édité, autre proposition de code :

En me basant uniquement sur ton morceau de code et sans pouvoir tester, ci-dessous peut-être une autre façon de voir ta procédure :
Code:
[COLOR=GRAY][B][I]DANS UN MODULE DE CODE STANDARD[/I][/B][/COLOR]

[COLOR=NAVY]Option Explicit[/COLOR]

[COLOR=NAVY]Sub[/COLOR] Test()
[COLOR=NAVY]Dim[/COLOR] Ws_Source [COLOR=NAVY]As[/COLOR] Worksheet
[COLOR=NAVY]Dim[/COLOR] Ws_Cible [COLOR=NAVY]As[/COLOR] Worksheet
[COLOR=NAVY]Dim[/COLOR] CelSource [COLOR=NAVY]As String
Dim[/COLOR] DerLigne [COLOR=NAVY]As Long
Dim[/COLOR] C [COLOR=NAVY]As Byte[/COLOR], Col [COLOR=NAVY]As Byte
    Set[/COLOR] Ws_Source = Worksheets("Facture")
    [COLOR=NAVY]Set[/COLOR] Ws_Cible = Worksheets("Archive Fc")
    DerLigne = Ws_Cible.Range("A65536").[COLOR=NAVY]End[/COLOR](xlUp).Row + 1
    [COLOR=NAVY]For[/COLOR] C = 1 [COLOR=NAVY]To[/COLOR] 8
        CelSource = Choose(C, "I18", "I61", "K18", "C20", "G20", "K55", "F53", "K62")
        Col = IIf(C = 8, 11, IIf(C > 4, C + 1, C))  [COLOR=GREEN]'Col cible = A, B, C, D, F, G, H ou K[/COLOR]
        [COLOR=NAVY]With[/COLOR] Ws_Cible.Cells(DerLigne, Col)
            .Value = Ws_Source.Range(CelSource)
            .Borders.LineStyle = xlSingle
        [COLOR=NAVY]End With[/COLOR]
        Ws_Source.Range(CelSource).ClearContents
    [COLOR=NAVY]Next[/COLOR] C
    Ws_Cible.Columns("B:C").NumberFormat = "dd-mmm-yy"  [COLOR=GREEN]'utilité de cette ligne ?[/COLOR]
[COLOR=NAVY]End Sub[/COLOR]

Cordialement,
 
Dernière édition:
Re : bogage entre deux feuilles d'un fichier

Re Marcel32,

Bonsoir à tous, bonsoir mDF,

Après recherche, je pense que la syntaxe doit être celle-ci :
'[NomDuClasseur.xls]NomDeLaFeuille'!PlageDeCellules

Ex : '[Classeur1.xls]Feuil1'!$A$3:$C$5

Ca c'est valable pour les formules de feuilles de calcul, pas pour VBA.

Pour VBA, c'est :
Code:
Workbooks("Classeur1.xls").Sheets("Feuil1").Range("A3:C5")
Cordialement,
 
Re : bogage entre deux feuilles d'un fichier

Bonjour Marcel32, myDearFriend! Le forum.
Je vais être bref car je suis au boulo mais je tenais à vous remercier au plutôt de vous décarcasser pour mon problème et je vais essayer tout cela en rentrant. Merci je vous tiens au courant de mon avancement.
Cordialement.
JPS.
 
Re : bogage entre deux feuilles d'un fichier

Re Marcel32, myDearFriend! Le forum.
Voici des nouvelles le code pour le module fonctionne bizarrement quand j'archive la facture non seulement elle s'archive dans le dossier du clients demandé ainsi que dans la feuille Archive Fc mais dans celle ci le n° de la facture s'inscrit mes un chiffre au dessus et rien dans les autres colonnes demandées pourquoi?
Voici un bout de fichier pour mieux comprendre ce que je souhaiterai votre code se trouve dans le module 11.
Cordialement.
JPS.
 
Re : bogage entre deux feuilles d'un fichier

OUPS le fichier je l'avait oublié 😉
 

Pièces jointes

- 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

Discussions similaires

  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
906
Réponses
3
Affichages
879
Réponses
5
Affichages
752
Retour