MACRO renvoit cellule vide

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

DJARNAUD

XLDnaute Occasionnel
Bonjour à tous,

Voilà, je cherche à faire une macro qui me placerait directement sur les celulles vides d'une ligne donnée.
Un bouton "suivant" permettrait d'accéder à l'éventuelle cellule vide suivante sur cette meme ligne.
Concernant l'indication de la ligne concernée, celle-ci serait déterminée par la celulle selectionné.

Ex: je me place en A2, alors la macro me renverrait sur C2
puis en cliquant sur suivant D2

D'avance merci pour votre aide!
 

Pièces jointes

Re,

Oui pardon, j'avais lu trop vite.
Voici la fichier modification du code :
VB:
Option Explicit
Sub Deplacer()
If Selection.End(xlToRight) = "" Then Exit Sub
If Selection.Offset(, 1) = "" Then Selection.Offset(, 1).Select: Exit Sub
Selection.End(xlToRight).Columns(0).Select
End Sub

A+
 
Re,

Ah ! Je n'avais pas compris que tu voulais aller dans toutes les colonnes.

Alors comme ceci peut être :
VB:
Option Explicit
Sub Deplacer()
If Selection.Offset(, 1) = "" Then Selection.Offset(, 1).Select: Exit Sub
If Selection.Offset(, 1) <> "" And Selection.Offset(, 2) = "" Then Selection.Offset(, 2).Select: Exit Sub
End Sub

A+
 
Arrrf j'ai parlé trop vite lol.
Quand j'ai plusieurs cellules qui contiennent des informations, plus d'une cellule, la macro ne me renvoit pas à la cellule suivante. J'ai regardé le code, si j'ai bien compris, soit il faut que je rajoute des lignes en augmentant le pas, ou alors il faut faire une boucle avec une variable?
Enfin je t'avoue que je ne maîtrise pas trop....

merci
 
Re,

On va y arriver ! 😉
VB:
Option Explicit
Sub Deplacer()
Dim i As Integer
If Selection.Offset(, 1) = "" Then Selection.Offset(, 1).Select: Exit Sub
For i = 1 To 3
If Selection.Offset(, i) <> "" And Selection.Offset(, i + 1) = "" Then Selection.Offset(, i + 1).Select: Exit Sub
Next
End Sub
A+
 
Re,

Pour rester dans la plage de travail sans se déplacer indéfiniment vers la droite :
VB:
Option Explicit
Sub Deplacer()
Dim i As Integer
For i = 1 To 5
If Not Intersect(Selection, Cells(i, 5)) Is Nothing Then Exit Sub
If Not Intersect(Selection, Cells(i, 6)) Is Nothing Then Exit Sub
Next
If Selection.Offset(, 1) = "" Then Selection.Offset(, 1).Select: Exit Sub
For i = 1 To 3
If Selection.Offset(, i) <> "" And Selection.Offset(, i + 1) = "" Then Selection.Offset(, i + 1).Select: Exit Sub
Next
End Sub

A+
 
Bonjour Calvus,

Oui va y arriver ! 😉
Bien vu pour que ça ne se déplace pas indéfiniment vers la droite.
Jai testé, il manque un tout petit truc.
Dans mon tableau j'ai 56 colonne, il se peut donc que la macro rencontre 55 celulles non vides avant d'en rencontrer une vide.
Penses tu pouvoir trouver une solution à cela?

Merci beaucoup
 
Bonjour Djarnaud, le forum,

Comme ceci :
VB:
Option Explicit
Sub Deplacer()
Dim i As Integer, derligne As Integer, dercol As Integer
derligne = Range("A" & Rows.Count).End(3).Row
dercol = Cells(1, Cells.Columns.Count).End(xlToLeft).Column

For i = 1 To derligne
If Not Intersect(Selection, Cells(i, dercol)) Is Nothing Then Exit Sub
If Not Intersect(Selection, Cells(i, dercol + 1)) Is Nothing Then Exit Sub
Next
If Selection.Offset(, 1) = "" Then Selection.Offset(, 1).Select: Exit Sub
For i = 1 To dercol
If Selection.Offset(, i) <> "" And Selection.Offset(, i + 1) = "" Then Selection.Offset(, i + 1).Select: Exit Sub
Next
End Sub

Bonne journée
 
Bonjour 00 🙂,

Bien vu et joli bouton, mais ce que veut Djarnaud, il me semble bien, c'est se déplacer dans toutes les cellules vides.
J'ai donc l'impression que mon code va l'emporter 😛
Ce serait la 1ère fois, et là, Champagne !
Je viens te chercher ce soir et on va fêter ça ! 😉

A bientôt 🙂
 
Bonjour Double Zéro, Bonjour Calvus,
Je te remecie pour ta contribution DoubleZéro! Trés joli bouton d'ailleurs!
Effectivement Calvus a bien compris mon besoin, c'est de passer par toutes les cellules vides et avec ta macro je m'arrête en H6 alors que je voudrai que le curseur continue en k6 etc...

Merci!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
673
Retour