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

Enregistrement de plusieurs lignes dans une seule

4 réponses
Avatar
Dante Huapaya
Bonjour,

J'ai un fichier dont les enregistrements sont sur plusieurs lignes,
et evidement j'aimerais l'avoir sur une seule ligne, je joint le lien
avec mon exemple et plus de details.
Merci de votre aide

http://www.cijoint.fr/cij82677821731213.xls

Carlos Dante

4 réponses

Avatar
Mishell
Bonjour.

Sub test()
FeuilleDestination = "Feuil2"
DestinationRangee = 1
Destinationcolonne = 0

'Ajuster selon le nombre de lignes occupées par les données sur la feuille
d'origine
PremiereLigneDesDonnees = 4
derniereLigneDesDonnees = 17

For i = PremiereLigneDesDonnees To derniereLigneDesDonnees
'Si les données sont sur 7 colonnes
For y = 1 To 7

If Trim(UCase(Cells(i, y) = "PT")) Then
DestinationRangee = DestinationRangee + 1
Destinationcolonne = 0
End If
If Trim(UCase(Cells(i, y) = "PH")) Then
Destinationcolonne = 36
End If

Destinationcolonne = Destinationcolonne + 1
Worksheets(FeuilleDestination).Cells(DestinationRangee,
Destinationcolonne) = Cells(i, y)

Next
Next
End Sub


"Dante Huapaya" wrote in message
news:
Bonjour,

J'ai un fichier dont les enregistrements sont sur plusieurs lignes,
et evidement j'aimerais l'avoir sur une seule ligne, je joint le lien
avec mon exemple et plus de details.
Merci de votre aide

http://www.cijoint.fr/cij82677821731213.xls

Carlos Dante



Avatar
Dante Huapaya
Merci de la reponse,
Le seul detail est ce que les donnees ne sont pas seulement sur 7 colonnes,
si la ligne PT est sur 7 colonnes la ligne PA est sur 5 et la PH sur 6.

Carlos Dante


Bonjour.

Sub test()
FeuilleDestination = "Feuil2"
DestinationRangee = 1
Destinationcolonne = 0

'Ajuster selon le nombre de lignes occupées par les données sur la feuille
d'origine
PremiereLigneDesDonnees = 4
derniereLigneDesDonnees = 17

For i = PremiereLigneDesDonnees To derniereLigneDesDonnees
'Si les données sont sur 7 colonnes
For y = 1 To 7

If Trim(UCase(Cells(i, y) = "PT")) Then
DestinationRangee = DestinationRangee + 1
Destinationcolonne = 0
End If
If Trim(UCase(Cells(i, y) = "PH")) Then
Destinationcolonne = 36
End If

Destinationcolonne = Destinationcolonne + 1
Worksheets(FeuilleDestination).Cells(DestinationRangee,
Destinationcolonne) = Cells(i, y)

Next
Next
End Sub


"Dante Huapaya" wrote in message
news:
Bonjour,

J'ai un fichier dont les enregistrements sont sur plusieurs lignes,
et evidement j'aimerais l'avoir sur une seule ligne, je joint le lien
avec mon exemple et plus de details.
Merci de votre aide

http://www.cijoint.fr/cij82677821731213.xls

Carlos Dante








Avatar
Mishell
Voici qui pourrait respecter le nombre variable de colonnes .

Sub test()
FeuilleDestination = "Feuil2"
DestinationRangee = 1
DestinationColonne = 1

'Ajuster selon le nombre de lignes occupées par les données sur la feuille d
'origine
PremiereLigneDesDonnees = 4
derniereLigneDesDonnees = 17

For i = PremiereLigneDesDonnees To derniereLigneDesDonnees
'Si les données sont sur 7 colonnes maximum
For y = 1 To 7

If Trim(UCase(Cells(i, y) = "PT")) Then
DestinationRangee = DestinationRangee + 1
DestinationColonne = 1
niemePA = 0
End If
If Trim(UCase(Cells(i, y) = "PH")) Then
DestinationColonne = 33
End If
If Trim(UCase(Cells(i, y) = "PG")) Then
DestinationColonne = 13 + (niemePA * 5)
niemePA = niemePA + 1
End If

Worksheets(FeuilleDestination).Cells(DestinationRangee,
DestinationColonne) = Cells(i, y)
DestinationColonne = DestinationColonne + 1

Next
Next
End Sub




"Dante Huapaya" wrote in message
news:
Merci de la reponse,
Le seul detail est ce que les donnees ne sont pas seulement sur 7
colonnes,
si la ligne PT est sur 7 colonnes la ligne PA est sur 5 et la PH sur 6.

Carlos Dante


Bonjour.

Sub test()
FeuilleDestination = "Feuil2"
DestinationRangee = 1
Destinationcolonne = 0

'Ajuster selon le nombre de lignes occupées par les données sur la
feuille
d'origine
PremiereLigneDesDonnees = 4
derniereLigneDesDonnees = 17

For i = PremiereLigneDesDonnees To derniereLigneDesDonnees
'Si les données sont sur 7 colonnes
For y = 1 To 7

If Trim(UCase(Cells(i, y) = "PT")) Then
DestinationRangee = DestinationRangee + 1
Destinationcolonne = 0
End If
If Trim(UCase(Cells(i, y) = "PH")) Then
Destinationcolonne = 36
End If

Destinationcolonne = Destinationcolonne + 1
Worksheets(FeuilleDestination).Cells(DestinationRangee,
Destinationcolonne) = Cells(i, y)

Next
Next
End Sub


"Dante Huapaya" wrote in message
news:
Bonjour,

J'ai un fichier dont les enregistrements sont sur plusieurs lignes,
et evidement j'aimerais l'avoir sur une seule ligne, je joint le lien
avec mon exemple et plus de details.
Merci de votre aide

http://www.cijoint.fr/cij82677821731213.xls

Carlos Dante










Avatar
Dante Huapaya
Merci Mishell,
C'est exactement ca que j'ai cherché.
Très apprécié

Carlos Dante

Tr

Voici qui pourrait respecter le nombre variable de colonnes .

Sub test()
FeuilleDestination = "Feuil2"
DestinationRangee = 1
DestinationColonne = 1

'Ajuster selon le nombre de lignes occupées par les données sur la feuille d
'origine
PremiereLigneDesDonnees = 4
derniereLigneDesDonnees = 17

For i = PremiereLigneDesDonnees To derniereLigneDesDonnees
'Si les données sont sur 7 colonnes maximum
For y = 1 To 7

If Trim(UCase(Cells(i, y) = "PT")) Then
DestinationRangee = DestinationRangee + 1
DestinationColonne = 1
niemePA = 0
End If
If Trim(UCase(Cells(i, y) = "PH")) Then
DestinationColonne = 33
End If
If Trim(UCase(Cells(i, y) = "PG")) Then
DestinationColonne = 13 + (niemePA * 5)
niemePA = niemePA + 1
End If

Worksheets(FeuilleDestination).Cells(DestinationRangee,
DestinationColonne) = Cells(i, y)
DestinationColonne = DestinationColonne + 1

Next
Next
End Sub




"Dante Huapaya" wrote in message
news:
Merci de la reponse,
Le seul detail est ce que les donnees ne sont pas seulement sur 7
colonnes,
si la ligne PT est sur 7 colonnes la ligne PA est sur 5 et la PH sur 6.

Carlos Dante


Bonjour.

Sub test()
FeuilleDestination = "Feuil2"
DestinationRangee = 1
Destinationcolonne = 0

'Ajuster selon le nombre de lignes occupées par les données sur la
feuille
d'origine
PremiereLigneDesDonnees = 4
derniereLigneDesDonnees = 17

For i = PremiereLigneDesDonnees To derniereLigneDesDonnees
'Si les données sont sur 7 colonnes
For y = 1 To 7

If Trim(UCase(Cells(i, y) = "PT")) Then
DestinationRangee = DestinationRangee + 1
Destinationcolonne = 0
End If
If Trim(UCase(Cells(i, y) = "PH")) Then
Destinationcolonne = 36
End If

Destinationcolonne = Destinationcolonne + 1
Worksheets(FeuilleDestination).Cells(DestinationRangee,
Destinationcolonne) = Cells(i, y)

Next
Next
End Sub


"Dante Huapaya" wrote in message
news:
Bonjour,

J'ai un fichier dont les enregistrements sont sur plusieurs lignes,
et evidement j'aimerais l'avoir sur une seule ligne, je joint le lien
avec mon exemple et plus de details.
Merci de votre aide

http://www.cijoint.fr/cij82677821731213.xls

Carlos Dante