Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

contater prise de tete

6 réponses
Avatar
steph b
bonjour
j ai un onglet sous excel 2003 nommé REP

il y a deux plages de cellules:

une plage allant de B159:I207
une plage allant de B212:I260

mon probleme est de pouvoir concatener seulement les cellules B et I lignes
par lignes dans ces deux plages et que si et seulement si il y a un caratere
dans la cellule B de ces plages.

ce qui donnerait par exemple
pour la plage B159 : I207

b159 & i 159 retour chariot
b160 & i160 retour chariot
b164 &i164 retour chariot
si b161- b162- b163 vides

et ainsi de suite
merci d avance

6 réponses

Avatar
MichD
Bonjour,

Une façon de faire :

Tu adaptes le nom de la feuille.
Étant donné que tu n'as pas dit où tu voulais obtenir le résultat
Il est copié sur la même ligne, mais en colonne K

'----------------------------------------
Sub test()

Dim Arr(), NbCol As Integer
Arr = Array("B159:I207", "B212:I260")

For Each Are In Arr
With Feuil1
Set Rg = .Range(Are).Columns(1).Cells
NbCol = .Range(Are).Columns.Count - 1
For Each c In Rg
If Not IsEmpty(c) And _
Not IsEmpty(c.Offset(, NbCol)) Then
.Range("K" & c.Row) = c.Value & c.Offset(, NbCol)
End If
Next
End With
Next
End Sub
'----------------------------------------


MichD
------------------------------------------
"steph b" a écrit dans le message de groupe de discussion : 4e832d40$0$30748$

bonjour
j ai un onglet sous excel 2003 nommé REP

il y a deux plages de cellules:

une plage allant de B159:I207
une plage allant de B212:I260

mon probleme est de pouvoir concatener seulement les cellules B et I lignes
par lignes dans ces deux plages et que si et seulement si il y a un caratere
dans la cellule B de ces plages.

ce qui donnerait par exemple
pour la plage B159 : I207

b159 & i 159 retour chariot
b160 & i160 retour chariot
b164 &i164 retour chariot
si b161- b162- b163 vides

et ainsi de suite
merci d avance
Avatar
steph b
merci michel

ton code marche très bien, la concatenation se fait car j'ai changé en
colonne Z mais ensuite il faudrait que ca me contaner toute la colonne Z.
est ce possible?

j arrive pas à le faire en m'appuyant sur ton code.

merci d'avance.


"MichD" a écrit dans le message de news:
j5vemj$b6h$
Bonjour,

Une façon de faire :

Tu adaptes le nom de la feuille.
Étant donné que tu n'as pas dit où tu voulais obtenir le résultat
Il est copié sur la même ligne, mais en colonne K

'----------------------------------------
Sub test()

Dim Arr(), NbCol As Integer
Arr = Array("B159:I207", "B212:I260")

For Each Are In Arr
With Feuil1
Set Rg = .Range(Are).Columns(1).Cells
NbCol = .Range(Are).Columns.Count - 1
For Each c In Rg
If Not IsEmpty(c) And _
Not IsEmpty(c.Offset(, NbCol)) Then
.Range("K" & c.Row) = c.Value & c.Offset(, NbCol)
End If
Next
End With
Next
End Sub
'----------------------------------------


MichD
------------------------------------------
"steph b" a écrit dans le message de groupe de discussion :
4e832d40$0$30748$

bonjour
j ai un onglet sous excel 2003 nommé REP

il y a deux plages de cellules:

une plage allant de B159:I207
une plage allant de B212:I260

mon probleme est de pouvoir concatener seulement les cellules B et I
lignes
par lignes dans ces deux plages et que si et seulement si il y a un
caratere
dans la cellule B de ces plages.

ce qui donnerait par exemple
pour la plage B159 : I207

b159 & i 159 retour chariot
b160 & i160 retour chariot
b164 &i164 retour chariot
si b161- b162- b163 vides

et ainsi de suite
merci d avance

Avatar
MichD
'----------------------------------------
Sub test()
Dim LeTout As String
Dim Arr(), NbCol As Integer
Arr = Array("B159:I207", "B212:I260")

With Feuil1
For Each Are In Arr
Set Rg = .Range(Are).Columns(1).Cells
NbCol = .Range(Are).Columns.Count - 1
For Each C In Rg
If Not IsEmpty(C) And _
Not IsEmpty(C.Offset(, NbCol)) Then
.Range("Z" & C.Row) = C.Value & C.Offset(, NbCol)
LeTout = LeTout & C.Value & C.Offset(, NbCol)
End If
Next
Next
.Range("Z" & .Range("Z65536").End(xlUp)(2).Row) = LeTout
End With
End Sub
'----------------------------------------


MichD
------------------------------------------
"steph b" a écrit dans le message de groupe de discussion : 4e84384a$0$18794$

merci michel

ton code marche très bien, la concatenation se fait car j'ai changé en
colonne Z mais ensuite il faudrait que ca me contaner toute la colonne Z.
est ce possible?

j arrive pas à le faire en m'appuyant sur ton code.

merci d'avance.


"MichD" a écrit dans le message de news:
j5vemj$b6h$
Bonjour,

Une façon de faire :

Tu adaptes le nom de la feuille.
Étant donné que tu n'as pas dit où tu voulais obtenir le résultat
Il est copié sur la même ligne, mais en colonne K

'----------------------------------------
Sub test()

Dim Arr(), NbCol As Integer
Arr = Array("B159:I207", "B212:I260")

For Each Are In Arr
With Feuil1
Set Rg = .Range(Are).Columns(1).Cells
NbCol = .Range(Are).Columns.Count - 1
For Each c In Rg
If Not IsEmpty(c) And _
Not IsEmpty(c.Offset(, NbCol)) Then
.Range("K" & c.Row) = c.Value & c.Offset(, NbCol)
End If
Next
End With
Next
End Sub
'----------------------------------------


MichD
------------------------------------------
"steph b" a écrit dans le message de groupe de discussion :
4e832d40$0$30748$

bonjour
j ai un onglet sous excel 2003 nommé REP

il y a deux plages de cellules:

une plage allant de B159:I207
une plage allant de B212:I260

mon probleme est de pouvoir concatener seulement les cellules B et I
lignes
par lignes dans ces deux plages et que si et seulement si il y a un
caratere
dans la cellule B de ces plages.

ce qui donnerait par exemple
pour la plage B159 : I207

b159 & i 159 retour chariot
b160 & i160 retour chariot
b164 &i164 retour chariot
si b161- b162- b163 vides

et ainsi de suite
merci d avance

Avatar
steph b
merci michel c est super

exactement ce que je cherchais

"MichD" a écrit dans le message de news:
j61p27$shn$
'----------------------------------------
Sub test()
Dim LeTout As String
Dim Arr(), NbCol As Integer
Arr = Array("B159:I207", "B212:I260")

With Feuil1
For Each Are In Arr
Set Rg = .Range(Are).Columns(1).Cells
NbCol = .Range(Are).Columns.Count - 1
For Each C In Rg
If Not IsEmpty(C) And _
Not IsEmpty(C.Offset(, NbCol)) Then
.Range("Z" & C.Row) = C.Value & C.Offset(, NbCol)
LeTout = LeTout & C.Value & C.Offset(, NbCol)
End If
Next
Next
.Range("Z" & .Range("Z65536").End(xlUp)(2).Row) = LeTout
End With
End Sub
'----------------------------------------


MichD
------------------------------------------
"steph b" a écrit dans le message de groupe de discussion :
4e84384a$0$18794$

merci michel

ton code marche très bien, la concatenation se fait car j'ai changé en
colonne Z mais ensuite il faudrait que ca me contaner toute la colonne Z.
est ce possible?

j arrive pas à le faire en m'appuyant sur ton code.

merci d'avance.


"MichD" a écrit dans le message de news:
j5vemj$b6h$
Bonjour,

Une façon de faire :

Tu adaptes le nom de la feuille.
Étant donné que tu n'as pas dit où tu voulais obtenir le résultat
Il est copié sur la même ligne, mais en colonne K

'----------------------------------------
Sub test()

Dim Arr(), NbCol As Integer
Arr = Array("B159:I207", "B212:I260")

For Each Are In Arr
With Feuil1
Set Rg = .Range(Are).Columns(1).Cells
NbCol = .Range(Are).Columns.Count - 1
For Each c In Rg
If Not IsEmpty(c) And _
Not IsEmpty(c.Offset(, NbCol)) Then
.Range("K" & c.Row) = c.Value & c.Offset(, NbCol)
End If
Next
End With
Next
End Sub
'----------------------------------------


MichD
------------------------------------------
"steph b" a écrit dans le message de groupe de discussion :
4e832d40$0$30748$

bonjour
j ai un onglet sous excel 2003 nommé REP

il y a deux plages de cellules:

une plage allant de B159:I207
une plage allant de B212:I260

mon probleme est de pouvoir concatener seulement les cellules B et I
lignes
par lignes dans ces deux plages et que si et seulement si il y a un
caratere
dans la cellule B de ces plages.

ce qui donnerait par exemple
pour la plage B159 : I207

b159 & i 159 retour chariot
b160 & i160 retour chariot
b164 &i164 retour chariot
si b161- b162- b163 vides

et ainsi de suite
merci d avance




Avatar
steph b
Bonjour

pourrais-je abuser encore???
mais je maitrise pas top les concatenation... comme tu as pu le voir !!!
J' ai une colonne Z avec des cellules non vides et vides, comment toutes les
concatener toutes de z3:z500 en celulle AA1

merci d avance



"steph b" a écrit dans le message de news:
4e846f42$0$30751$
merci michel c est super

exactement ce que je cherchais

"MichD" a écrit dans le message de news:
j61p27$shn$
'----------------------------------------
Sub test()
Dim LeTout As String
Dim Arr(), NbCol As Integer
Arr = Array("B159:I207", "B212:I260")

With Feuil1
For Each Are In Arr
Set Rg = .Range(Are).Columns(1).Cells
NbCol = .Range(Are).Columns.Count - 1
For Each C In Rg
If Not IsEmpty(C) And _
Not IsEmpty(C.Offset(, NbCol)) Then
.Range("Z" & C.Row) = C.Value & C.Offset(, NbCol)
LeTout = LeTout & C.Value & C.Offset(, NbCol)
End If
Next
Next
.Range("Z" & .Range("Z65536").End(xlUp)(2).Row) = LeTout
End With
End Sub
'----------------------------------------


MichD
------------------------------------------
"steph b" a écrit dans le message de groupe de discussion :
4e84384a$0$18794$

merci michel

ton code marche très bien, la concatenation se fait car j'ai changé en
colonne Z mais ensuite il faudrait que ca me contaner toute la colonne Z.
est ce possible?

j arrive pas à le faire en m'appuyant sur ton code.

merci d'avance.


"MichD" a écrit dans le message de news:
j5vemj$b6h$
Bonjour,

Une façon de faire :

Tu adaptes le nom de la feuille.
Étant donné que tu n'as pas dit où tu voulais obtenir le résultat
Il est copié sur la même ligne, mais en colonne K

'----------------------------------------
Sub test()

Dim Arr(), NbCol As Integer
Arr = Array("B159:I207", "B212:I260")

For Each Are In Arr
With Feuil1
Set Rg = .Range(Are).Columns(1).Cells
NbCol = .Range(Are).Columns.Count - 1
For Each c In Rg
If Not IsEmpty(c) And _
Not IsEmpty(c.Offset(, NbCol)) Then
.Range("K" & c.Row) = c.Value & c.Offset(, NbCol)
End If
Next
End With
Next
End Sub
'----------------------------------------


MichD
------------------------------------------
"steph b" a écrit dans le message de groupe de discussion :
4e832d40$0$30748$

bonjour
j ai un onglet sous excel 2003 nommé REP

il y a deux plages de cellules:

une plage allant de B159:I207
une plage allant de B212:I260

mon probleme est de pouvoir concatener seulement les cellules B et I
lignes
par lignes dans ces deux plages et que si et seulement si il y a un
caratere
dans la cellule B de ces plages.

ce qui donnerait par exemple
pour la plage B159 : I207

b159 & i 159 retour chariot
b160 & i160 retour chariot
b164 &i164 retour chariot
si b161- b162- b163 vides

et ainsi de suite
merci d avance








Avatar
MichD
Quelle est ta question ? Concaténer toutes les valeurs de Z3:Z500 et mettre le résultat en A1

Sub Test()
Dim C as Range
With Worksheets("Feuil1") 'Nom feuille à adapter
For each c in .range("z3:Z500")
LeTout = LeTout & C.value
Next
.Range("AA1").value = LeTout
End With
End Sub


MichD
------------------------------------------
"steph b" a écrit dans le message de groupe de discussion : 4e859e0b$0$30767$

Bonjour

pourrais-je abuser encore???
mais je maitrise pas top les concatenation... comme tu as pu le voir !!!
J' ai une colonne Z avec des cellules non vides et vides, comment toutes les
concatener toutes de z3:z500 en celulle AA1

merci d avance



"steph b" a écrit dans le message de news:
4e846f42$0$30751$
merci michel c est super

exactement ce que je cherchais

"MichD" a écrit dans le message de news:
j61p27$shn$
'----------------------------------------
Sub test()
Dim LeTout As String
Dim Arr(), NbCol As Integer
Arr = Array("B159:I207", "B212:I260")

With Feuil1
For Each Are In Arr
Set Rg = .Range(Are).Columns(1).Cells
NbCol = .Range(Are).Columns.Count - 1
For Each C In Rg
If Not IsEmpty(C) And _
Not IsEmpty(C.Offset(, NbCol)) Then
.Range("Z" & C.Row) = C.Value & C.Offset(, NbCol)
LeTout = LeTout & C.Value & C.Offset(, NbCol)
End If
Next
Next
.Range("Z" & .Range("Z65536").End(xlUp)(2).Row) = LeTout
End With
End Sub
'----------------------------------------


MichD
------------------------------------------
"steph b" a écrit dans le message de groupe de discussion :
4e84384a$0$18794$

merci michel

ton code marche très bien, la concatenation se fait car j'ai changé en
colonne Z mais ensuite il faudrait que ca me contaner toute la colonne Z.
est ce possible?

j arrive pas à le faire en m'appuyant sur ton code.

merci d'avance.


"MichD" a écrit dans le message de news:
j5vemj$b6h$
Bonjour,

Une façon de faire :

Tu adaptes le nom de la feuille.
Étant donné que tu n'as pas dit où tu voulais obtenir le résultat
Il est copié sur la même ligne, mais en colonne K

'----------------------------------------
Sub test()

Dim Arr(), NbCol As Integer
Arr = Array("B159:I207", "B212:I260")

For Each Are In Arr
With Feuil1
Set Rg = .Range(Are).Columns(1).Cells
NbCol = .Range(Are).Columns.Count - 1
For Each c In Rg
If Not IsEmpty(c) And _
Not IsEmpty(c.Offset(, NbCol)) Then
.Range("K" & c.Row) = c.Value & c.Offset(, NbCol)
End If
Next
End With
Next
End Sub
'----------------------------------------


MichD
------------------------------------------
"steph b" a écrit dans le message de groupe de discussion :
4e832d40$0$30748$

bonjour
j ai un onglet sous excel 2003 nommé REP

il y a deux plages de cellules:

une plage allant de B159:I207
une plage allant de B212:I260

mon probleme est de pouvoir concatener seulement les cellules B et I
lignes
par lignes dans ces deux plages et que si et seulement si il y a un
caratere
dans la cellule B de ces plages.

ce qui donnerait par exemple
pour la plage B159 : I207

b159 & i 159 retour chariot
b160 & i160 retour chariot
b164 &i164 retour chariot
si b161- b162- b163 vides

et ainsi de suite
merci d avance