Bonjour a vous et merci de prendre du temps pour me lire.
Voila je désire réaliser un programme qui remonte les informations de deux colonnes en les remontant une a unes de telle sorte qu'il n'y est plus de cellules vides entre les informations (les cellules en question ne dont pas vide, en réalité elle contienne un espace.)
Je suis parvenu a coder se programme et a l'exécuter avec succès dans un dossier excel vide de toutes autres macros:
Mon programme principale ouvre un dossier excel en ".SCV" remonte les informations des colonnes F et G, puis copie toutes les donnés de la feuille ouverte et les colle dans la feuille contenant ma macro.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
35
36
37
38
39
40
41
42
43
44
45 Sub SupprimeCelluleVide() 'Vide les cellules comprenant uniquement un espace de la colonne Range("F1").Select 'selectionne la 1er case de la colonne ou on veux effectuer la supression d'espace i = 0 While i <> 5 If ActiveCell.Value = " " Then i = 0 Selection.ClearContents ActiveCell.Offset(rowOffset:=1, columnOffset:=0).Activate Else ActiveCell.Offset(rowOffset:=1, columnOffset:=0).Activate i = i + 1 End If Wend 'Remonte les valeur une a une pour ne plus avoir de trous dans la colonne i = 1 While LigneOrigine <> 1048576 'cf parenthése ci dessous 'selectionne la 1er cases non vide (sauf le titre)(retourne 1048576 si pas d'élément trouver) LigneOrigine = Range("F1").Offset(LigneCible, 0).End(xlDown).Row 'MsgBox "LigneOrigine= " & LigneOrigine 'selectionne la 1er case vide (sauf le titre)(idem pour avoir le numéro de ligne) LigneCible = Range("F1").Offset(i, 0).End(xlUp).Offset(1, 0).Row 'MsgBox "LigneCible= " & LigneCible i = i + 1 'Couper coller Range("F1").Offset(LigneCible - 1, 0).Select Range("F1:G1").Offset(LigneOrigine - 1, 0).Select Application.CutCopyMode = False Selection.Cut Range("F1").Select Range("F1").Offset(LigneCible - 1, 0).Select ActiveSheet.Paste Wend End Sub
La partie bugé est donc la partie du programme précédant qui au lieux de couper/coller mes donner de la colonne F&G a cette même colonne il me les colle dans la cellule A1 du classeur contenant mon programme principale.
Pour une plus grande compréhension du dis programme je vous encourage atélécharger les 2 pièces jointent. Regarder en pas a pas ce qu'il se passe dans le programme ThisWorkbhook du fichier "test copie" en ouvrant suite a la demande de la macro le fichier "30101425" et bien sure me retourner une solution si vous parvenez a trouver le bug.
Merci de votre attention et désolé pour les fautes d'orthographe que j'ai dut laisser trainer malgré moi dans se message.![]()
Partager