onglets recup de cellule

Le
stephprod
Bonjour,

j'ai un fichier excel qui contient des feuilles nommées "P_ etc" et en
cellule L4 jusqu'à L13 j'ai un chiffre compsé de deux caractère au max,
d'un point virgule et d'une chaine de texte exemple

1;TATA
50;TOTO
99;TITI
j aimerais qu'une macro me sépare les deux dans chaque feuille et dans
chaque cellule de L4 à L13
et me les stockes sous forment de tableau dans la feuille PARAM de mon
classeur actif commencant par la cellule
AP1

je vous remercie par avance

stephane
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
papou
Le #5175861
Bonjour
Adapte à ton cas :
Sub SepareLesDonnees()
Dim f As Worksheet
For Each f In Sheets
f.Range("A1:A3").TextToColumns Destination:=Range("A1"),
DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:úlse,
Tab:úlse, _
Semicolon:=True, Comma:úlse, Space:úlse, Other:úlse, FieldInfo
_
:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
Next f
End Sub

Cordialement
Pascal

"stephprod" 47cd653d$0$902$
Bonjour,

j'ai un fichier excel qui contient des feuilles nommées "P_ etc" et en
cellule L4 jusqu'à L13 j'ai un chiffre compsé de deux caractère au max,
d'un point virgule et d'une chaine de texte... exemple

1;TATA
50;TOTO
99;TITI
j aimerais qu'une macro me sépare les deux dans chaque feuille et dans
chaque cellule de L4 à L13
et me les stockes sous forment de tableau dans la feuille PARAM de mon
classeur actif commencant par la cellule
AP1

je vous remercie par avance...

stephane





Corto
Le #5175851
Bonjour stephprod;

Sub OngletRecapDeCellule()
Set XDST = Sheets("PARAM").Range("AP1")
For Each XSH In ThisWorkbook.Worksheets
If XSH.Name <> "PARAM" Then
XSH.Range("L4:L13").TextToColumns
Destination:=XSH.Range("L4"), _
DataType:=xlDelimited, Semicolon:=True
XSH.Range("L4:M13").Copy Destination:=XDST
Set XDST = XDST.Offset(0, 2)
End If
Next XSH
End Sub

Corto

Bonjour,

j'ai un fichier excel qui contient des feuilles nommées "P_ etc" et e n
cellule L4 jusqu'à L13 j'ai un chiffre compsé de deux caractère au max,
d'un point virgule et d'une chaine de texte... exemple

1;TATA
50;TOTO
99;TITI
j aimerais qu'une macro me sépare les deux dans chaque feuille et dan s
chaque cellule de L4 à L13
et me les stockes sous forment de tableau dans la feuille PARAM de mon
classeur actif commencant par la cellule
AP1

je vous remercie par avance...

stephane






Daniel.C
Le #5175841
Bonjour.
Essaie (non testée) :

Sub test()
Dim sh As Worksheet, ligne As Long, c As Range

With Sheets("PARAM")
For Each sh In Sheets
If Left(sh.Name, 2) = "P_" Then
For Each c In sh.Range("L4:L13")
.[AP1].Offset(ligne) = Split(c, ";")(0)
.[AP1].Offset(ligne, 1) = Split(c, ";")(1)
ligne = ligne + 1
Next c
End If
Next
End With
End Sub

Daniel
"stephprod" 47cd653d$0$902$
Bonjour,

j'ai un fichier excel qui contient des feuilles nommées "P_ etc" et en
cellule L4 jusqu'à L13 j'ai un chiffre compsé de deux caractère au max,
d'un point virgule et d'une chaine de texte... exemple

1;TATA
50;TOTO
99;TITI
j aimerais qu'une macro me sépare les deux dans chaque feuille et dans
chaque cellule de L4 à L13
et me les stockes sous forment de tableau dans la feuille PARAM de mon
classeur actif commencant par la cellule
AP1

je vous remercie par avance...

stephane





stephprod
Le #5175801
ca marche mais pour qu'un seul onglet "p_ "
il decale pas pour les autres feilles
merci quand meme



"Daniel.C" %
Bonjour.
Essaie (non testée) :

Sub test()
Dim sh As Worksheet, ligne As Long, c As Range

With Sheets("PARAM")
For Each sh In Sheets
If Left(sh.Name, 2) = "P_" Then
For Each c In sh.Range("L4:L13")
.[AP1].Offset(ligne) = Split(c, ";")(0)
.[AP1].Offset(ligne, 1) = Split(c, ";")(1)
ligne = ligne + 1
Next c
End If
Next
End With
End Sub

Daniel
"stephprod" 47cd653d$0$902$
Bonjour,

j'ai un fichier excel qui contient des feuilles nommées "P_ etc" et en
cellule L4 jusqu'à L13 j'ai un chiffre compsé de deux caractère au max,
d'un point virgule et d'une chaine de texte... exemple

1;TATA
50;TOTO
99;TITI
j aimerais qu'une macro me sépare les deux dans chaque feuille et dans
chaque cellule de L4 à L13
et me les stockes sous forment de tableau dans la feuille PARAM de mon
classeur actif commencant par la cellule
AP1

je vous remercie par avance...

stephane









JB
Le #5175791
Bonjour,

ligne = 1
For Each s In ActiveWorkbook.Sheets
If s.Name Like "P_*" Then
a = s.[L4:L13]
For i = 1 To 10
Sheets("param").Cells(ligne, 42).Resize(1, 2) = Split(a(i, 1),
";")
ligne = ligne + 1
Next i
End If
Next s

JB

On 4 mar, 16:05, "stephprod"
Bonjour,

j'ai un fichier excel qui contient des feuilles nommées "P_ etc" et en
cellule  L4 jusqu'à L13 j'ai un chiffre compsé de deux caractère a u max,
d'un point virgule et d'une chaine de texte... exemple

1;TATA
50;TOTO
99;TITI
j aimerais qu'une macro me sépare les deux dans chaque feuille et dans
chaque cellule de L4 à L13
et me les stockes sous forment de tableau dans la feuille PARAM de mon
classeur actif commencant par la cellule
AP1

je vous remercie par avance...

stephane


JB
Le #5175771
Une colonne par feuille:

col = 42
For Each s In ActiveWorkbook.Sheets
If s.Name Like "P_*" Then
For i = 1 To 10
Sheets("param").Cells(i, col).Resize(1, 2) = Split(s.Cells(i +
3, 12), ";")
Next i
col = col + 2
End If
Next s

JB


On 4 mar, 17:16, JB
Bonjour,

 ligne = 1
 For Each s In ActiveWorkbook.Sheets
   If s.Name Like "P_*" Then
     a = s.[L4:L13]
     For i = 1 To 10
       Sheets("param").Cells(ligne, 42).Resize(1, 2) = Split(a(i , 1),
";")
       ligne = ligne + 1
     Next i
   End If
 Next s

JB

On 4 mar, 16:05, "stephprod"


Bonjour,

j'ai un fichier excel qui contient des feuilles nommées "P_ etc" et en
cellule  L4 jusqu'à L13 j'ai un chiffre compsé de deux caractère au max,
d'un point virgule et d'une chaine de texte... exemple

1;TATA
50;TOTO
99;TITI
j aimerais qu'une macro me sépare les deux dans chaque feuille et dans
chaque cellule de L4 à L13
et me les stockes sous forment de tableau dans la feuille PARAM de mon
classeur actif commencant par la cellule
AP1

je vous remercie par avance...

stephane- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



Daniel.C
Le #5175721
Quel décalage ? La macro stocke les infos les unes sous les autres.
Daniel
"stephprod" 47cd729d$0$841$
ca marche mais pour qu'un seul onglet "p_ "
il decale pas pour les autres feilles
merci quand meme



"Daniel.C" %
Bonjour.
Essaie (non testée) :

Sub test()
Dim sh As Worksheet, ligne As Long, c As Range

With Sheets("PARAM")
For Each sh In Sheets
If Left(sh.Name, 2) = "P_" Then
For Each c In sh.Range("L4:L13")
.[AP1].Offset(ligne) = Split(c, ";")(0)
.[AP1].Offset(ligne, 1) = Split(c, ";")(1)
ligne = ligne + 1
Next c
End If
Next
End With
End Sub

Daniel
"stephprod" 47cd653d$0$902$
Bonjour,

j'ai un fichier excel qui contient des feuilles nommées "P_ etc" et en
cellule L4 jusqu'à L13 j'ai un chiffre compsé de deux caractère au max,
d'un point virgule et d'une chaine de texte... exemple

1;TATA
50;TOTO
99;TITI
j aimerais qu'une macro me sépare les deux dans chaque feuille et dans
chaque cellule de L4 à L13
et me les stockes sous forment de tableau dans la feuille PARAM de mon
classeur actif commencant par la cellule
AP1

je vous remercie par avance...

stephane













Publicité
Poster une réponse
Anonyme