Pb de transfert de données d'une feuille vers une autre

gentiloup

XLDnaute Nouveau
Bonsoir,
j'ai un niveau plus que moyen en excel et j'ai un gros PB de transfert de données d'une feuille de saisie XLS vers d'autres feuilles "A", "B", "C"......en effet, dans une feuille "Saisie" je saisis des données "Etat de commande","Type","NOM DU PRODUIT","Référence" et j'indique le nom de la feuille dans laquelle ces données doivent être reportées dans la colonne "Classeur" de la feuille "Saisie" qui contient les liens hypertextes avec les autres feuilles.
je ne parviens pas à retranscrire automatiquement les données de la feuille "Saisie" vers les feuilles "Classeur" appropriées.:confused:
 

Pièces jointes

  • Exemple.xls
    19.5 KB · Affichages: 104
  • Exemple.xls
    19.5 KB · Affichages: 115
  • Exemple.xls
    19.5 KB · Affichages: 94
Dernière édition:

Spitnolan08

XLDnaute Barbatruc
Re : Pb de transfert de données d'une feuille vers une autre

Bonsoir,

Si j'ai bien compris : tu t'attendais à ce que la présence de liens hypertexte transfère les données automatiquement d'une feuille à l'autre ?
Un lien hypertexte (comme tu les a saisis) te permet de te déplacer d'une feuille à une autre mais pour transférer tes données automatiquement il faudrait une macro ou des formules sur tes feuilles de destination.

Cordialement
 

matthieu33

XLDnaute Occasionnel
Re : Pb de transfert de données d'une feuille vers une autre

Bonsoir gentiloup, Spitnolan08, fred65200 et le forum,

Voici une autre solution.
Dès la saisie d'une valeur dans la colonne Classeur de la feuille Données, les feuilles sont mises à jour.


@+
 

Pièces jointes

  • Exemple_v1.zip
    15.1 KB · Affichages: 141
  • Exemple_v1.zip
    15.1 KB · Affichages: 156
  • Exemple_v1.zip
    15.1 KB · Affichages: 147

fred65200

XLDnaute Impliqué
Re : Pb de transfert de données d'une feuille vers une autre

bonsoir,

Joli travail Mathieu, très complet.

Ce soir, j'ai voulu travailler sur les tableaux.

Je n'ai pas réussi à réduire
Code:
  Select Case Cel.Value
  Case "A"
    ReDim Preserve tabA(1 To 4, 1 To A)
    tabA(1, A) = Cells(Cel.Row, 1): tabA(2, A) = Cells(Cel.Row, 2)
    tabA(3, A) = Cells(Cel.Row, 3): tabA(4, A) = Cells(Cel.Row, 4)
     A = A + 1
  Case "B"
    ReDim Preserve tabB(1 To 4, 1 To B)
    tabB(1, B) = Cells(Cel.Row, 1): tabB(2, B) = Cells(Cel.Row, 2)
    tabB(3, B) = Cells(Cel.Row, 3): tabB(4, B) = Cells(Cel.Row, 4)
    B = B + 1
  Case "C"
    ReDim Preserve tabC(1 To 4, 1 To C)
    tabC(1, C) = Cells(Cel.Row, 1): tabC(2, C) = Cells(Cel.Row, 2)
    tabC(3, C) = Cells(Cel.Row, 3): tabC(4, C) = Cells(Cel.Row, 4)
    C = C + 1
  Case "D"
    ReDim Preserve tabD(1 To 4, 1 To D)
    tabD(1, D) = Cells(Cel.Row, 1): tabD(2, D) = Cells(Cel.Row, 2)
    tabD(3, D) = Cells(Cel.Row, 3): tabD(4, D) = Cells(Cel.Row, 4)
    D = D + 1
  End Select

Si quelqu'un à une approche. Merci

cordialement
 

gentiloup

XLDnaute Nouveau
Re : Pb de transfert de données d'une feuille vers une autre

Bonsoir et merci à tous les 3 pour votre aide,
j'ai essayé vos propositions
celle de Fred 65200 m'envoie tout de suite un message d'erreur lorsque j'appuie sur le bouton:
'écriture des données et ajout de bordures
For i = 0 To UBound(tabFeuilles)
Sheets(tabFeuilles(i)).Range("A2:D" & UBound(Tablo(i), 2) + 1).Value = _
Application.Transpose(Tablo(i))
Sheets(tabFeuilles(i)).Range("A1").CurrentRegion.Borders.Weight = xlThin
Next
MsgBox "c'est fait"
End Sub


celle de Mathieu 33 correspond le mieux à mes besoins.
toutefois, lorsque je saisis une nouvelle ligne données la mise à jour ne ce fait pas dans la feuille considérée et j'ai le message suivant :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lgLig As Long
Dim lgDerLig As Long
Dim lgWS As Long
Dim bTrouveWS As Boolean
Dim lgDerLigWS As Long

Application.ScreenUpdating = False

' Déclenchement du traitement uniquement après la saisie d'info dans la colonne E
If Not Intersect(Target, Range("E:E")) Is Nothing Then
' Effacer le contenu de chaque feuille sauf la feuille Données
For lgWS = 1 To Worksheets.Count
If UCase(Worksheets(lgWS).Name) <> UCase("Données") And UCase(Worksheets(lgWS).Name) <> UCase("Modèle Données") Then
Worksheets(lgWS).Range("A2:D" & Cells.Rows.Count).ClearContents
End If
Next lgWS


De plus comment réaliser un tri alphabétique, après avoir insérer une nouvelle ligne de données dans la feuille "Données", tri par classeur référencé dans la colonne "C" tout en respectant les cases et en classant en premier les Etat de commande d'indice "C" puis ceux d'indice "M" pour chaque réference "Classeur" de la feuille de données.
Merci beaucoup par avance et bon WE:)
 

fred65200

XLDnaute Impliqué
Re : Pb de transfert de données d'une feuille vers une autre

bonsoir,

sauf erreur de ma part, dans le code de Mathieu il y a un tri sur les colonnes A et C.

je ne comprends pas pourquoi aucun de ces classeur ne fonctionne chez toi.

Utilise les balises de code pour insérer du code, c'est plus lisible et il n'y a pas de :D qui traîne.
En mode avancé le bouton # ou tu saisies
PHP:
[code] en début et [/code] en fin de code
.

cordialement
 
Dernière édition:

Discussions similaires

Réponses
5
Affichages
206
Réponses
7
Affichages
436

Statistiques des forums

Discussions
312 668
Messages
2 090 739
Membres
104 643
dernier inscrit
adriano22