OVH Cloud OVH Cloud

Re decalage sans vide

2 réponses
Avatar
Manu
Bonjour,

Daniel m'a fait ce codes pour faire ce qui est expliqué ci-dessous,

Private Sub Worksheet_Change(ByVal Target As Range)
Dim x As Integer, lignes As Long
If Target.Column > 30 Or Target.Count > 1 Then Exit Sub
lignes = 1
Sheets("feuil2").Range("A:A").ClearContents
For x = 1 To Range("IV1").End(xlToLeft).Column
Range(Cells(1, x), Cells(Cells(65536, x).End(xlUp).Row,
x)).Copy _
Sheets("feuil2").Cells(lignes, 1)
lignes = lignes + Cells(65536, x).End(xlUp).Row
Next
end sub

J'ai voulu modifier ce code pour qu'il ne me prenne pas la 1ere ligne et
qu'il le mette en col E, alors j'ai fait cela :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim x As Integer, ligne As Long
If Target.Column > 30 Or Target.Count > 1 Then Exit Sub
ligne = 1
Sheets("feuil2").Range("E:E").ClearContents
For x = 1 To Range("IV1").End(xlToLeft).Column
Range(Cells(2, x), Cells(Cells(65536, x).End(xlUp).Row,
x)).Copy _
Sheets("feuil2").Cells(ligne, 5)
ligne = ligne + Cells(65536, x).End(xlUp).Row
Next
End Sub

Ca fonctionne, mais le soucis, c'est qu'il me garde des cellules vides dans
ma colonne E, comment peut-on les enlever.

Merci

Manu


dans la feuil1 j'ai un certain nombre de colonne avec les titres ci dessous.
Ex :
Col A : TYPE
Col B : B.R.
Col C : CALP
.......
.......
Avec un remplissage different dans chacune des col.

Je souhaiterais dans ma Feuil2 en Col A (et que en col A) la totalité des
données (y compris les titres) de la Feuil1, c'est à dire qu'il me mette
tous ce qu'il y a de la Col A de la feuil1 et lorsqu'il y aura un vide,
qu'il prenne la totalité de la Col B jusqu'à un vide et qu'il passe à la Col
C ....etc...et ce jusqu'a la colonne P de la feuil1.
La difficulté vous l'avez compris c'est que tout soit interactif, si
j'ajoute un element a la fin de ma col A de feuil1 il faudra que ma colA de
Feuil2 se mette à jour.

En fait, mon resultat de la Col A de Feuil2 devrait ressembler à cela :
TYPE
rt56
ty32
jh24
B.R.
b444
bn35
CALP
calp99
calp01

2 réponses

Avatar
Manu
J'essai d'ajouter ceci, mais tjrs rien

On Error Resume Next
Range([E1], [E:E].Find("*", , , , ,
xlPrevious)).SpecialCells(xlCellTypeBlanks).Delete


"Manu" a écrit dans le message de news:

Bonjour,

Daniel m'a fait ce codes pour faire ce qui est expliqué ci-dessous,

Private Sub Worksheet_Change(ByVal Target As Range)
Dim x As Integer, lignes As Long
If Target.Column > 30 Or Target.Count > 1 Then Exit Sub
lignes = 1
Sheets("feuil2").Range("A:A").ClearContents
For x = 1 To Range("IV1").End(xlToLeft).Column
Range(Cells(1, x), Cells(Cells(65536, x).End(xlUp).Row,
x)).Copy _
Sheets("feuil2").Cells(lignes, 1)
lignes = lignes + Cells(65536, x).End(xlUp).Row
Next
end sub

J'ai voulu modifier ce code pour qu'il ne me prenne pas la 1ere ligne et
qu'il le mette en col E, alors j'ai fait cela :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim x As Integer, ligne As Long
If Target.Column > 30 Or Target.Count > 1 Then Exit Sub
ligne = 1
Sheets("feuil2").Range("E:E").ClearContents
For x = 1 To Range("IV1").End(xlToLeft).Column
Range(Cells(2, x), Cells(Cells(65536, x).End(xlUp).Row,
x)).Copy _
Sheets("feuil2").Cells(ligne, 5)
ligne = ligne + Cells(65536, x).End(xlUp).Row
Next
End Sub

Ca fonctionne, mais le soucis, c'est qu'il me garde des cellules vides
dans ma colonne E, comment peut-on les enlever.

Merci

Manu


dans la feuil1 j'ai un certain nombre de colonne avec les titres ci
dessous.
Ex :
Col A : TYPE
Col B : B.R.
Col C : CALP
.......
.......
Avec un remplissage different dans chacune des col.

Je souhaiterais dans ma Feuil2 en Col A (et que en col A) la totalité des
données (y compris les titres) de la Feuil1, c'est à dire qu'il me mette
tous ce qu'il y a de la Col A de la feuil1 et lorsqu'il y aura un vide,
qu'il prenne la totalité de la Col B jusqu'à un vide et qu'il passe à la
Col
C ....etc...et ce jusqu'a la colonne P de la feuil1.
La difficulté vous l'avez compris c'est que tout soit interactif, si
j'ajoute un element a la fin de ma col A de feuil1 il faudra que ma colA
de
Feuil2 se mette à jour.

En fait, mon resultat de la Col A de Feuil2 devrait ressembler à cela :
TYPE
rt56
ty32
jh24
B.R.
b444
bn35
CALP
calp99
calp01




Avatar
Manu
C'est bon, j'ai trouvé, je n'avais pas mis cette ligne où il fallait.
Manu

"Manu" a écrit dans le message de news:
uG7rc$
J'essai d'ajouter ceci, mais tjrs rien

On Error Resume Next
Range([E1], [E:E].Find("*", , , , ,
xlPrevious)).SpecialCells(xlCellTypeBlanks).Delete


"Manu" a écrit dans le message de news:

Bonjour,

Daniel m'a fait ce codes pour faire ce qui est expliqué ci-dessous,

Private Sub Worksheet_Change(ByVal Target As Range)
Dim x As Integer, lignes As Long
If Target.Column > 30 Or Target.Count > 1 Then Exit Sub
lignes = 1
Sheets("feuil2").Range("A:A").ClearContents
For x = 1 To Range("IV1").End(xlToLeft).Column
Range(Cells(1, x), Cells(Cells(65536, x).End(xlUp).Row,
x)).Copy _
Sheets("feuil2").Cells(lignes, 1)
lignes = lignes + Cells(65536, x).End(xlUp).Row
Next
end sub

J'ai voulu modifier ce code pour qu'il ne me prenne pas la 1ere ligne et
qu'il le mette en col E, alors j'ai fait cela :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim x As Integer, ligne As Long
If Target.Column > 30 Or Target.Count > 1 Then Exit Sub
ligne = 1
Sheets("feuil2").Range("E:E").ClearContents
For x = 1 To Range("IV1").End(xlToLeft).Column
Range(Cells(2, x), Cells(Cells(65536, x).End(xlUp).Row,
x)).Copy _
Sheets("feuil2").Cells(ligne, 5)
ligne = ligne + Cells(65536, x).End(xlUp).Row
Next
End Sub

Ca fonctionne, mais le soucis, c'est qu'il me garde des cellules vides
dans ma colonne E, comment peut-on les enlever.

Merci

Manu


dans la feuil1 j'ai un certain nombre de colonne avec les titres ci
dessous.
Ex :
Col A : TYPE
Col B : B.R.
Col C : CALP
.......
.......
Avec un remplissage different dans chacune des col.

Je souhaiterais dans ma Feuil2 en Col A (et que en col A) la totalité des
données (y compris les titres) de la Feuil1, c'est à dire qu'il me mette
tous ce qu'il y a de la Col A de la feuil1 et lorsqu'il y aura un vide,
qu'il prenne la totalité de la Col B jusqu'à un vide et qu'il passe à la
Col
C ....etc...et ce jusqu'a la colonne P de la feuil1.
La difficulté vous l'avez compris c'est que tout soit interactif, si
j'ajoute un element a la fin de ma col A de feuil1 il faudra que ma colA
de
Feuil2 se mette à jour.

En fait, mon resultat de la Col A de Feuil2 devrait ressembler à cela :
TYPE
rt56
ty32
jh24
B.R.
b444
bn35
CALP
calp99
calp01