Comment faire fonctionner cette macro ?

Le
GREENHORN
Bonjour TLM

Je reviens vers vous pour demande d'aide, toujours pour mon petit-ils
qui [me] pose la question suivante :

Je cherche une macro afin que dans une même colonne d'une feuille excel
toutes les cellules pleines se suivent. Je cherche à demander à
l'ordinateur de remonter le contenu de la cellule inférieur lorsqu'une
cellule est vide.

Voici ce que j'ai fait mais ça ne fonctionne pas. Pourrais-tu, stp,
demander un petit coup de main ?

Private Sub Macro()
Dim i, j As Integer

For i = 0 To 5
For j = 0 To 5

If IsNull(Cells(i, j)) Then
Cells(i, j) = Cells(i, j + 1)
End If

Next j
Next i

End Sub

J'espère que sa demande est suffisamment claire. Je vous remercie
d'avance pour vos réponses.

--
Cordialement
GREENHORN
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 3
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
DanielCo
Le #23428321
Bonjour,
Pour la colonne A :
Sub test()
[A:A].SpecialCells(xlCellTypeBlanks).Delete xlShiftUp
End Sub
Cordialement.
Daniel


Bonjour TLM

Je reviens vers vous pour demande d'aide, toujours pour mon petit-ils qui
[me] pose la question suivante :

Je cherche une macro afin que dans une même colonne d'une feuille excel
toutes les cellules pleines se suivent. Je cherche à demander à l'ordinateur
de remonter le contenu de la cellule inférieur lorsqu'une cellule est vide.

Voici ce que j'ai fait mais ça ne fonctionne pas. Pourrais-tu, stp, demander
un petit coup de main ?

Private Sub Macro()
Dim i, j As Integer

For i = 0 To 5
For j = 0 To 5

If IsNull(Cells(i, j)) Then
Cells(i, j) = Cells(i, j + 1)
End If

Next j
Next i

End Sub

J'espère que sa demande est suffisamment claire. Je vous remercie d'avance
pour vos réponses.
FFO
Le #23428371
Salut à toi

En complément

De la colonne 1 à 5 :

For i = 1 To 5
Cells(1, i).EntireColumn.SpecialCells(xlCellTypeBlanks).Delete
Shift:=xlUp
Next
Jacky
Le #23428361
Bonjour,

'---------------
Sub jj()
Set plage = [a1:e5] '* eventuellement adapter
On Error Resume Next
plage.SpecialCells(xlCellTypeBlanks).Delete xlShiftUp
End Sub
'---------------

--
Salutations
JJ


"GREENHORN"
Bonjour TLM

Je reviens vers vous pour demande d'aide, toujours pour mon petit-ils qui [me] pose la question suivante :

Je cherche une macro afin que dans une même colonne d'une feuille excel toutes les cellules pleines se
suivent. Je cherche à demander à l'ordinateur de remonter le contenu de la cellule inférieur lorsqu'une
cellule est vide.

Voici ce que j'ai fait mais ça ne fonctionne pas. Pourrais-tu, stp, demander un petit coup de main ?

Private Sub Macro()
Dim i, j As Integer

For i = 0 To 5
For j = 0 To 5

If IsNull(Cells(i, j)) Then
Cells(i, j) = Cells(i, j + 1)
End If

Next j
Next i

End Sub

J'espère que sa demande est suffisamment claire. Je vous remercie d'avance pour vos réponses.

--
Cordialement
GREENHORN


GREENHORN
Le #23431041
DanielCo a présenté l'énoncé suivant :
Bonjour,
Pour la colonne A :
Sub test()
[A:A].SpecialCells(xlCellTypeBlanks).Delete xlShiftUp
End Sub
Cordialement.
Daniel




Bonjour Daniel

La macro ne correspond pas tout à fait ma demande, dit-il ! Mais
peut-être sa demande n'est-elle pas suffisamment claire ? ;-)

--
Cordialement
GREENHORN
GREENHORN
Le #23431031
FFO a pensé très fort :
Salut à toi

En complément

De la colonne 1 à 5 :

For i = 1 To 5
Cells(1, i).EntireColumn.SpecialCells(xlCellTypeBlanks).Delete
Shift:=xlUp
Next




Bonjour FFO

Merci pour ta réponse. Il n'a pas réussi, il dit que la macro ne
fonctionne pas. Mais bon, sa demande n'est peut-être pas assez précise
ou n'a-t-il pas bien compris ? ;-)

--
Cordialement
GREENHORN
GREENHORN
Le #23431021
Après mûre réflexion, Jacky a écrit :
Bonjour,

'---------------
Sub jj()
Set plage = [a1:e5] '* eventuellement adapter
On Error Resume Next
plage.SpecialCells(xlCellTypeBlanks).Delete xlShiftUp
End Sub
'---------------

--
Salutations
JJ





Bonjour Jacky

Merci pour ta réponse. Il pose cette question : Peux-tu demander à
Jacky quelques explications [1] sur les deux lignes suivantes et les
fonctions qui les composent :

"On Error Resume Next
plage.SpecialCells(xlCellTypeBlanks).Delete xlShiftUp"

Merci d'avance pour ta réponse.

[1] ce qui laisse à penser, comme je le disais, que sa demande n'est
tout à fait claire dans son esprit... à première vue ! ;-)

--
Cordialement
GREENHORN
Jacquouille
Le #23431091
Bonjour
C'est toujours meilleur avec un peu de sel, alors j'y vais de mon petit
grain ....d'humour

"On Error Resume Next"
Dire à la machine de ne pas tenir compte d'une éventuelle connerie de
l'auteur .....

plage.SpecialCells(xlCellTypeBlanks).Delete xlShiftUp"
delete ---> tuer
SpecialCells(xlCellTypeBlanks ---> C'est pas raciste, mais cela veut dire
tous les blancs....
xlShiftUp ----> Une fois qu'ils sont morts, remonter d'une ligne, juste
pour voir s'il n'en reste pas un qui serait caché par là .....

ceci est une vision purement perso d' Excel et de VBA, mais il m'arrive de
m'y retrouver ...-)))

J'espère que Jacky ne sera pas outré de mon interprétation tout à fait
personnelle de sa partition. -))


Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"GREENHORN" a écrit dans le message de groupe de discussion :
iskkff$6eh$

Après mûre réflexion, Jacky a écrit :
Bonjour,

'---------------
Sub jj()
Set plage = [a1:e5] '* eventuellement adapter
On Error Resume Next
plage.SpecialCells(xlCellTypeBlanks).Delete xlShiftUp
End Sub
'---------------

--
Salutations
JJ





Bonjour Jacky

Merci pour ta réponse. Il pose cette question : Peux-tu demander à
Jacky quelques explications [1] sur les deux lignes suivantes et les
fonctions qui les composent :

"On Error Resume Next
plage.SpecialCells(xlCellTypeBlanks).Delete xlShiftUp"

Merci d'avance pour ta réponse.

[1] ce qui laisse à penser, comme je le disais, que sa demande n'est
tout à fait claire dans son esprit... à première vue ! ;-)

--
Cordialement
GREENHORN
GREENHORN
Le #23431191
Il se trouve que Jacquouille a formulé :
Bonjour
C'est toujours meilleur avec un peu de sel, alors j'y vais de mon petit
grain ....d'humour

"On Error Resume Next"
Dire à la machine de ne pas tenir compte d'une éventuelle connerie de
l'auteur .....

plage.SpecialCells(xlCellTypeBlanks).Delete xlShiftUp"
delete ---> tuer
SpecialCells(xlCellTypeBlanks ---> C'est pas raciste, mais cela veut dire
tous les blancs....
xlShiftUp ----> Une fois qu'ils sont morts, remonter d'une ligne, juste
pour voir s'il n'en reste pas un qui serait caché par là .....

ceci est une vision purement perso d' Excel et de VBA, mais il m'arrive de
m'y retrouver ...-)))

J'espère que Jacky ne sera pas outré de mon interprétation tout à fait
personnelle de sa partition. -))


Jacquouille




Bonjour Jacquouille

Merci pour ta réponse !... MAIS [Question du "béotien" que je suis !]
est-ce du "pur" humour ou, si je lui adresse ta "prose", il en tirera
quelque chose ? ;-) Ouarff !!! lol

--
Cordialement
GREENHORN
Jacky
Le #23431181
Re...

Pour..
On Error Resume Next
Ceci évite le message d'excel "qui ne trouve pas de cellule à traiter" quand aucune des cellules contenues
dans "plage" n'est vide.

Pour...
"SpecialCells(xlCellTypeBlanks).Delete"
Supprime la cellule qui ne contient rien

"xlShiftUp"
Monte la ligne d'un cran dans la colonne ou la cellule ne contient rien.

"plage.SpecialCells(xlCellTypeBlanks).Delete xlShiftUp"
Fait le travail précédemment citer pour toute la "plage"

En espérant que cela soit plus clair pour le "petit" ;o))
--
Salutations
JJ


"GREENHORN"
Après mûre réflexion, Jacky a écrit :
Bonjour,

'---------------
Sub jj()
Set plage = [a1:e5] '* eventuellement adapter
On Error Resume Next
plage.SpecialCells(xlCellTypeBlanks).Delete xlShiftUp
End Sub
'---------------

--
Salutations
JJ





Bonjour Jacky

Merci pour ta réponse. Il pose cette question : Peux-tu demander à Jacky quelques explications [1] sur les
deux lignes suivantes et les fonctions qui les composent :

"On Error Resume Next
plage.SpecialCells(xlCellTypeBlanks).Delete xlShiftUp"

Merci d'avance pour ta réponse.

[1] ce qui laisse à penser, comme je le disais, que sa demande n'est tout à fait claire dans son esprit... à
première vue ! ;-)

--
Cordialement
GREENHORN


Jacky
Le #23431301
J'espère que Jacky ne sera pas outré de mon interprétation tout à fait personnelle de sa partition. -))



C'est bien plus "Cholie" comme cha !
;o))
J'en profite pour mettre un "é" à "citer" :o((((

--
Salutations
JJ


"Jacquouille" 4deddab5$0$14251$
Bonjour
C'est toujours meilleur avec un peu de sel, alors j'y vais de mon petit grain ....d'humour

"On Error Resume Next"
Dire à la machine de ne pas tenir compte d'une éventuelle connerie de l'auteur .....

plage.SpecialCells(xlCellTypeBlanks).Delete xlShiftUp"
delete ---> tuer
SpecialCells(xlCellTypeBlanks ---> C'est pas raciste, mais cela veut dire tous les blancs....
xlShiftUp ----> Une fois qu'ils sont morts, remonter d'une ligne, juste pour voir s'il n'en reste pas un
qui serait caché par là .....

ceci est une vision purement perso d' Excel et de VBA, mais il m'arrive de m'y retrouver ...-)))

J'espère que Jacky ne sera pas outré de mon interprétation tout à fait personnelle de sa partition. -))


Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"GREENHORN" a écrit dans le message de groupe de discussion : iskkff$6eh$

Après mûre réflexion, Jacky a écrit :
Bonjour,

'---------------
Sub jj()
Set plage = [a1:e5] '* eventuellement adapter
On Error Resume Next
plage.SpecialCells(xlCellTypeBlanks).Delete xlShiftUp
End Sub
'---------------

--
Salutations
JJ





Bonjour Jacky

Merci pour ta réponse. Il pose cette question : Peux-tu demander à
Jacky quelques explications [1] sur les deux lignes suivantes et les
fonctions qui les composent :

"On Error Resume Next
plage.SpecialCells(xlCellTypeBlanks).Delete xlShiftUp"

Merci d'avance pour ta réponse.

[1] ce qui laisse à penser, comme je le disais, que sa demande n'est
tout à fait claire dans son esprit... à première vue ! ;-)

--
Cordialement
GREENHORN

Publicité
Poster une réponse
Anonyme