Copier/Coller d'un ensemble de cellules variables.
Bonjour à tous,
Je viens vers vous car je dois surement passer à coté d'un élément essentiel pour que ce code VBA simple fonctionne :
Ce code à pour but de remonter les informations d'un tableau de manière à les avoir les unes à la suite des autres comme montré sur l'image ci-dessous.
Il m'est interdit, même si c'est plus simple, de supprimer les lignes vide dans mon cahier des charge.
Pièce jointe 360732
La seule Ligne de code qui me pose problème est lorsque je souhaite coller la découpe précédemment faite. J'ai essayé plusieurs méthodes mais rien a faire, l'opération de découpe se fait mais pas de collage.
En espérant avoir mis ce poste au bon endroit du forum, pourriez vous m'aider à comprendre ce qu'il me manque s'il vous plait ?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| Sub Ma_boucle_de_Tri()
Dim x As Integer
x = 2
Dim y As Integer
y = 0
Dim z As Integer
z = 28
With Worksheets("Feuille1")
For x = 2 To 28
'De la ligne 2 à la ligne 28
If IsEmpty(Cells(x, 3).Value) = True Then
'Si la cellule testée est vide alors :
y = x + 2
z = z + 2
.Range("C" & y & ":D" & z).Cut
'Couper tout ce qui se trouve en dessous de la cellule testée jusqu'à la case 28
y = y - 2
z = z - 2
.Range("C" & y & ":D" & z).PasteSpecial Paste:=xlPasteValues
'Coller la valeur des cellules à partir de la cellule précédemment testée vide. ***C'est là que se trouve mon problème***
y = y + 2
z = z + 2
'Remettre les variables aux mêmes valeurs qu'au départ de la boucle IF
End If
x = x + 1
Next x
'On recommence l'opération deux ligne en dessous jusqu'à ce que l'on atteigne la ligne 28
End With
End Sub |
Copier/Coller d'un ensemble de cellules variables.
Bonjour,
Comme je l'ai indiqué au début du post, Il m'est interdit, même si c'est plus simple, de supprimer les lignes vide dans mon cahier des charge.
Il s'agit d'un simple exemple pour simplifier le problème. Cependant le document de travail original comporte, en dessous de ce tableau, plusieurs fusions et mises en formes différentes.
En supprimant les lignes vides désiré, c'est toute la page qui remonte et donc toutes les mises en formes et fusions restent à l'endroit initial mais les valeurs des cellules remontent ce qui démonte complètement le document.
Dès lors, je me suis contenté de trouver une autre solution qui est à deux doigts de fonctionner (ou pas..). Je code du VBA depuis 10 jours donc je peux très bien faire fausse route depuis le départ et toute solution de votre part est la bienvenue !
Copier/Coller d'un ensemble de cellules variables.
Le code de "a_diard" fonctionne et pour l'instant je grade cette solution, merci à toi !
Il me reste un peu de temps avant de livrer mon travail alors je me penche sur les conseils de "Marc-L" pour arriver à ce que je souhaite.
Merci pour vos reponse les gens !
A +