OVH Cloud OVH Cloud

Regrouper des valeurs éparses

6 réponses
Avatar
STEPHANE
Bonjour,

J'ai en A 100 lignes. Seules 10 cellules non suivies sont remplies avec une
valeur. Comment puis-je regrouper en B les 10 valeurs de A l'une après
l'autre en B1, B2, B3, B4...?

Merci de votre aide.

Stéphane.

6 réponses

Avatar
michdenis
Bonjour Stephane,

Adapte le nom de ta feuille
'---------------------------
Sub Remplir()

On Error Resume Next
With worksheets("Feuil1") 'à déterminer
.Range("A1:A" & .Range("A65536").End(xlUp).Row). _
SpecialCells(xlCellTypeConstants).Copy .Range("b1")
End With
End Sub
'---------------------------


Salutations!


"STEPHANE" a écrit dans le message de news: 430f4ce9$0$2521$
Bonjour,

J'ai en A 100 lignes. Seules 10 cellules non suivies sont remplies avec une
valeur. Comment puis-je regrouper en B les 10 valeurs de A l'une après
l'autre en B1, B2, B3, B4...?

Merci de votre aide.

Stéphane.
Avatar
STEPHANE
Bonjour michdenis,

Super, ca marche parfaitement.
Je ne pensais pas que la réponse viendrait sous forme de macro. Ma question
était donc incomplète car je pensais l'étendre moi même...mais en VBA je ne
sais rien faire d'autre que copier/coller.

A partir de ta macro :
Peut-on faire exactement la même chose en 1 seule fois pour ABCDEFGHIJ
valeurs éparses en feuille1 et le résultat groupé en ABCDEFGHIJ feuille2.

Merci beaucoup.

Stéphane.

"michdenis" a écrit dans le message de news:
%
Bonjour Stephane,

Adapte le nom de ta feuille
'---------------------------
Sub Remplir()

On Error Resume Next
With worksheets("Feuil1") 'à déterminer
.Range("A1:A" & .Range("A65536").End(xlUp).Row). _
SpecialCells(xlCellTypeConstants).Copy .Range("b1")
End With
End Sub
'---------------------------


Salutations!


"STEPHANE" a écrit dans le message de
news: 430f4ce9$0$2521$
Bonjour,

J'ai en A 100 lignes. Seules 10 cellules non suivies sont remplies avec
une
valeur. Comment puis-je regrouper en B les 10 valeurs de A l'une après
l'autre en B1, B2, B3, B4...?

Merci de votre aide.

Stéphane.





Avatar
Steph_D
Bonjour Stephane et MichDenis,

'Résultat groupé en feuille "Feuil2"
Sub Remplir()
On Error Resume Next
With Worksheets("Feuil1") 'à déterminer
.Range("A1:A" & .Range("A65536").End(xlUp).Row). _
SpecialCells(xlCellTypeConstants).Copy
Worksheets("Feuil2").Range("b1") 'à déterminer
End With
End Sub
Avatar
Steph_D
désolé mauvaise césure

Sub Remplir()
On Error Resume Next
With Worksheets("Feuil1") 'à déterminer
.Range("A1:A" & .Range("A65536").End(xlUp).Row). _
SpecialCells(xlCellTypeConstants).Copy _
Worksheets("Feuil2").Range("b1") 'à déterminer
End With
End Sub
Avatar
michdenis
Bonjour Stephane,

Modifier le nom des 2 feuilles : Départ et destination

La fonction Derlig sert à déterminer la dernière ligne occupé dans la feuille.

'----------------------------
Sub Remplir()

Dim Rg As Range, C As Range
'On Error Resume Next
With Worksheets("Feuil1") 'à déterminer
Set Rg = .Range("A1:J" & DerLig(Worksheets(.Name)))
For Each C In Rg.Columns
C.SpecialCells(xlCellTypeConstants).Copy _
Worksheets("Feuil2").Cells(1, C.Column)
'Nom Feuille à déterminer
Next
End With
Set C = Nothing
End Sub
'--------------------------------
Function DerLig(sh As Worksheet)
On Error Resume Next
DerLig = sh.Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
On Error GoTo 0
End Function
'--------------------------------


Salutations!





"STEPHANE" a écrit dans le message de news: 430f58bf$0$2521$
Bonjour michdenis,

Super, ca marche parfaitement.
Je ne pensais pas que la réponse viendrait sous forme de macro. Ma question
était donc incomplète car je pensais l'étendre moi même...mais en VBA je ne
sais rien faire d'autre que copier/coller.

A partir de ta macro :
Peut-on faire exactement la même chose en 1 seule fois pour ABCDEFGHIJ
valeurs éparses en feuille1 et le résultat groupé en ABCDEFGHIJ feuille2.

Merci beaucoup.

Stéphane.

"michdenis" a écrit dans le message de news:
%
Bonjour Stephane,

Adapte le nom de ta feuille
'---------------------------
Sub Remplir()

On Error Resume Next
With worksheets("Feuil1") 'à déterminer
.Range("A1:A" & .Range("A65536").End(xlUp).Row). _
SpecialCells(xlCellTypeConstants).Copy .Range("b1")
End With
End Sub
'---------------------------


Salutations!


"STEPHANE" a écrit dans le message de
news: 430f4ce9$0$2521$
Bonjour,

J'ai en A 100 lignes. Seules 10 cellules non suivies sont remplies avec
une
valeur. Comment puis-je regrouper en B les 10 valeurs de A l'une après
l'autre en B1, B2, B3, B4...?

Merci de votre aide.

Stéphane.





Avatar
STEPHANE
Bonsoir michdenis,

Je n'ai que deux choses à dire Merci et Bravo.

Meilleurs salutations

Stéphane.

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

Bonjour Stephane,

Modifier le nom des 2 feuilles : Départ et destination

La fonction Derlig sert à déterminer la dernière ligne occupé dans la
feuille.

'----------------------------
Sub Remplir()

Dim Rg As Range, C As Range
'On Error Resume Next
With Worksheets("Feuil1") 'à déterminer
Set Rg = .Range("A1:J" & DerLig(Worksheets(.Name)))
For Each C In Rg.Columns
C.SpecialCells(xlCellTypeConstants).Copy _
Worksheets("Feuil2").Cells(1, C.Column)
'Nom Feuille à déterminer
Next
End With
Set C = Nothing
End Sub
'--------------------------------
Function DerLig(sh As Worksheet)
On Error Resume Next
DerLig = sh.Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
On Error GoTo 0
End Function
'--------------------------------


Salutations!





"STEPHANE" a écrit dans le message de
news: 430f58bf$0$2521$
Bonjour michdenis,

Super, ca marche parfaitement.
Je ne pensais pas que la réponse viendrait sous forme de macro. Ma
question
était donc incomplète car je pensais l'étendre moi même...mais en VBA je
ne
sais rien faire d'autre que copier/coller.

A partir de ta macro :
Peut-on faire exactement la même chose en 1 seule fois pour ABCDEFGHIJ
valeurs éparses en feuille1 et le résultat groupé en ABCDEFGHIJ feuille2.

Merci beaucoup.

Stéphane.

"michdenis" a écrit dans le message de news:
%
Bonjour Stephane,

Adapte le nom de ta feuille
'---------------------------
Sub Remplir()

On Error Resume Next
With worksheets("Feuil1") 'à déterminer
.Range("A1:A" & .Range("A65536").End(xlUp).Row). _
SpecialCells(xlCellTypeConstants).Copy .Range("b1")
End With
End Sub
'---------------------------


Salutations!


"STEPHANE" a écrit dans le message de
news: 430f4ce9$0$2521$
Bonjour,

J'ai en A 100 lignes. Seules 10 cellules non suivies sont remplies avec
une
valeur. Comment puis-je regrouper en B les 10 valeurs de A l'une après
l'autre en B1, B2, B3, B4...?

Merci de votre aide.

Stéphane.