Copier les informations d'une colonne et la coller a la colonne d'aprés
bonsoir a tous, sv)p besoin de votre aide
Sub Desordre()
'declaration de variable
Dim WS_Count As Integer
Dim i As Integer
Dim array_elt() As String
Dim array_cell() As String
Dim bigrng As Range
Dim ok As Boolean
Dim Ligne, Colonne, nbr As Integer
Ligne = 2
Colonne = 1
Set ws = ActiveWorkbook.Sheets("Fusion_Step2")
WS_Count = ActiveWorkbook.Worksheets.Count
Set bigrng = ws.Range("A1", "A1")
Dim rng, rng1 As Range
Dim nbrligne, nbrcol As String
'Recuperation de la plage de travail
last_cellulecc = Split(ws.UsedRange.Address, "$")(3) + Split(ws.UsedRange.Address, "$")(4)
Set rng = ws.Range("A1", last_cellulecc)
nbligne = Range("A1", last_cellulecc).Rows.Count
nbrcol = Range("A1", last_cellulecc).Columns.Count
t = 0
i = 1
l = 1
'Creation de la premiere colonne
t = nbligne - 1
For i = 1 To rng.Columns.Count
'MsgBox rng.Cells(t, i)
ws.Cells(i, nbrcol + 5) = rng.Cells(t, i).Value
Next i
'Creation de la deuxieme colonne
t = nbligne - 2
For i = 1 To Range("A1", last_cellulecc).Columns.Count
ws.Cells(i, nbrcol + 6) = rng.Cells(t, i).Value
Next i
'Creation de la troisieme colonne
t = nbligne - 3
For i = 1 To Range("A1", last_cellulecc).Columns.Count
ws.Cells(i, nbrcol + 7) = rng.Cells(t, i).Value
Next i
'Creation de la quatrieme colonne
t = nbligne - 4
For i = 1 To Range("A1", last_cellulecc).Columns.Count
ws.Cells(i, nbrcol + 8) = rng.Cells(t, i).Value
Next i
'Creation de la cinquieme colonne
t = nbligne - 5
For i = 1 To Range("A1", last_cellulecc).Columns.Count
ws.Cells(i, nbrcol + 9) = rng.Cells(t, i).Value
Next i
'construction de la sixieme colonne
t = (nbligne - 6) / 2
If (nbligne - 6) Mod 2 > 0 Then
p = (nbligne - 6 - 1) / 2 + 1
For r = 1 To p
For i = 1 To Range("A1", last_cellulecc).Columns.Count
ws.Cells(l, nbrcol + 10) = rng.Cells(r, i).Value
l = l + 1
Next i
Next r
Else
p = (nbligne - 6) / 2
For r = 1 To p
For i = 1 To Range("A1", last_cellulecc).Columns.Count
ws.Cells(l, nbrcol + 10) = rng.Cells(r, i).Value
l = l + 1
Next i
Next r
End If
'construction de la septieme colonne
l = 1
For r = p + 1 To nbligne - 6
For i = 1 To Range("A1", last_cellulecc).Columns.Count
ws.Cells(l, nbrcol + 11) = rng.Cells(r, i).Value
l = l + 1
Next i
Next r
For i = 1 To Range("A1", last_cellulecc).Columns.Count
ws.Cells(l, nbrcol + 11) = rng.Cells(nbligne, i).Value
l = l + 1
Next i
Set rng1 = ws.Range(ws.Cells(1, nbrcol + 5), ws.Cells(l + 2, nbrcol + 11))
For f = 1 To 9 + 3
For i = 1 To ws.Range(ws.Cells(1, nbrcol + 5), ws.Cells(l, nbrcol + 11)).Rows.Count
ws.Cells(i, f) = rng1.Cells(i, f)
Next i
Next f
'rng.Cells.Clear
rng1.Cells.Clear
'construction de la huitieme colonne
End Sub
la macro consitera a copier la 7eme colonne pour la coller a la 8eme colonne
ce fichier est celui qui implémente ma macro
bonjour
salut au passage franck
en B1 tu mets "=A1"
ça suffit pour mettre B1 en A1
pas de VBA
simplicité, sobriété, fiabilité
amitiés à tous
'construction de la septieme colonne
l = 1
For r = p + 1 To nbligne - 6
For i = 1 To Range("A1", last_cellulecc).Columns.Count
ws.Cells(l, nbrcol + 11) = rng.Cells(r, i).Value
l = l + 1
Next i
Next r
For i = 1 To Range("A1", last_cellulecc).Columns.Count
ws.Cells(l, nbrcol + 11) = rng.Cells(nbligne, i).Value
l = l + 1
Next i
Set rng1 = ws.Range(ws.Cells(1, nbrcol + 5), ws.Cells(l + 2, nbrcol + 11))
For f = 1 To 9 + 3
For i = 1 To ws.Range(ws.Cells(1, nbrcol + 5), ws.Cells(l, nbrcol + 11)).Rows.Count
ws.Cells(i, f) = rng1.Cells(i, f)
Next i
Next f
mon code doit juste copier cette colonne apres les modification que j'effectue dessus.
svp besoin d'aide
re
je veux dire qu'il est inutile et même nuisible de recopier des données en dur (que ce soit avec VBA ou avec clavier/souris)
une donnée on la met une fois pour toutes dans une cellule. On ne la touche plus (sauf pour la modifier volontairement)
et on l'utilise dans des milliers d'autres cellules sans besoin de la recopier, dans des formules par exemple (une égalité est une formule comme je te le rappelais dans mon message précédent), ou dans des TCD ou des graphiques, ou des requêtes.
à quoi te sert de recopier des données ?
à te relire
Merci M. Jmd pour votre intervention en fait, la raison par la quelle je recopie est la suivante
ma macro génére 7 et moi j'aimerais que la huitième colonne soit identique a la 7eme colonne et c'est la raison pour la quelle j'aimerais faire une macro ou intégrer une instruction de plus qui fera la copie ou dupliquer la 7eme colonne pour former la 8eme colonne.
j'attend votre aide svp
re
à qoi ça sert ?
et plus à la base de ta problématique : quel est le BUT de ton fichier ?
car en pratique on n'a jamais besoin de recopier (et encore moins des colonnes)
on voudrait en savoir plus, beaucoup plus
amitiés