Faire référence à une cellule vide en VBA

Morgane

XLDnaute Nouveau
Bonjour à tous,

Je suis actuellement en train de tâtonner sur le macro qui doit faire référence à des cellules vides.

Je m'explique, mon fichier comporte de plages (Zone1 fichier en PJ) avec des sous plages (Zone100 fichier en PJ) et des cellules.

Je souhaite que mon code fasse :

cherche d'abord dans la Zone1 si il y a des cellules vides ?

si oui alors il cherche si il y a des cellule vides dans la Zone100​
si oui alors il cherche la première cellule vide de cette Zone100​
si non alors il cherche dans la Zone101​
si non alors il cherche dans la Zone102​
si non alors il cherche dans la Zone2​
si oui cherche dans la Zone200​
si oui cherche la première cellule vide​
si non alors il cherche dans la Zone201​
si non alors il cherche dans la Zone202​

J'éspère que c'est clair ?:confused: Le fond du problème c'est la référence aux cellules vides !

Je vous remercie pour votre aide
 

Pièces jointes

  • Test.xlsm
    8.7 KB · Affichages: 55
  • Test.xlsm
    8.7 KB · Affichages: 59
  • Test.xlsm
    8.7 KB · Affichages: 58

Hervé

XLDnaute Barbatruc
Re : Faire référence à une cellule vide en VBA

salut

excuse mais j'ai rien compris, on fait quoi une fois qu'on a passer chaque cellule en revue ?

ci dessous un petit code pour te montrer comment boucler sur chaque cellule d'une zone et vérifier si elle est vide

je te laisse le soin de compléter après le then

Code:
Public Sub recherchevide()
Dim c As Range

For Each c In Range("zone1") 'pour chaque cellule de la zone1
    If c = "" Then 'si la cellule est vide alors....
Next c
End Sub
 

Hervé

XLDnaute Barbatruc
Re : Faire référence à une cellule vide en VBA

re

je te redonne un code, dis moi ce qu'on doit faire quand le code ci dessous renvoi vide ?

Code:
Public Sub recherchevide()
Dim c As Range

If Not Range("zone1").SpecialCells(xlCellTypeBlanks).Count = Range("zone1").Count Then
    MsgBox "pas vide"
Else
    MsgBox "vide"
End If
End Sub
 

Morgane

XLDnaute Nouveau
Re : Faire référence à une cellule vide en VBA

Salut Hervé,

Merci pour ta réponse mais si je comprend bien, ton code va faire un traitement sur chaque cellule vide de la plage Zone1 ?

Pour répondre à ta question, le Then va être complété part 1.

Donc pour être plus précis, je souhaite que 1 soit rempli dans la première cellule vide de la plage Zone100 dans la plage Zone1 et ainsi de suite...
 

Cousinhub

XLDnaute Barbatruc
Re : Faire référence à une cellule vide en VBA

Bonsoir,

Bonsoir Hervé ;)

Ma petite contribution :

Le code ci-dessous te donne l'adresse de la première cellule vide de tes zones secondaires, s'il y en a...

Code:
Sub ee()
Dim Zone_P, Zone_S
Dim Z_P, Z_S
Dim Plg_P As Range, Plg_S As Range
Zone_P = Array("Zone1", "Zone2")
Zone_S = Array("00", "01", "02")
For Each Z_P In Zone_P
    Set Plg_P = Range(Z_P)
    If Application.CountA(Plg_P.Cells) <> Plg_P.Cells.Count Then
        For Each Z_S In Zone_S
            Set Plg_S = Range(Z_P & Z_S)
            If Application.CountA(Plg_S.Cells) <> Plg_S.Cells.Count Then
                MsgBox Plg_S.Cells.SpecialCells(xlCellTypeBlanks)(1).Address
            End If
        Next Z_S
    End If
Next Z_P
End Sub

Dans la définition des "Array", tu entres les zones (principales, puis les deux derniers chiffres), comme je l'ai fait.

Bon courage
 

Hervé

XLDnaute Barbatruc
Re : Faire référence à une cellule vide en VBA

re

désolé mais vraiment je comprends pas, ca viens de moi, t'inquietes, je suis pas un rapide :

le code suivant va te mettre 1 à chaque cellule vide :

Code:
Public Sub recherchevide()
Dim c As Range

For Each c In Range("zone1") 'pour chaque cellule de la zone1
    If c = "" Then c=1'si la cellule est vide alors....
Next c
End Sub

le code suivant va incrementer 1 à chaque cellule vide

Code:
Public Sub recherchevide()
Dim c As Range
dim i as integer

For Each c In Range("zone1") 'pour chaque cellule de la zone1
    If c = "" Then 
        i=i+1
        c=i'si la cellule est vide alors....
Next c
End Sub

il serait bien que tu nous donnes via le fichier que tu as déjà fait, le résultat attendu

a plus
 

Morgane

XLDnaute Nouveau
Re : Faire référence à une cellule vide en VBA

Bonsoir bhbh,

Oui c'est exactement ce que je veux, sauf que à la place de la Msgbox, je souhaite que la macro indique 1 dans la cellule trouvé. Est ce trop te demander de m'indiquer le code :confused: dois je faire référence à activecell ?

Merci d'avance.
 

Morgane

XLDnaute Nouveau
Re : Faire référence à une cellule vide en VBA

Hervé,

Non pas forcément, la Zone100 peux contenir une seule cellule non vide, alors elle peux contenir d'autres cellule vide (à remplir).

La Zone100 ne défini pas forcément ce que les Zone101 et 102 vont contenir.

Lol, je comprend qu'il est pas toujours évident de comprendre une idée que quelqu'un essai de faire passer (avec pas forcément les bonnes explications...)
 

Cousinhub

XLDnaute Barbatruc
Re : Faire référence à une cellule vide en VBA

Re-,

Je suis un peu comme Hervé, soit "perplexe"...

tu veux remplir toutes les cellules vides de chaque zone, ou uniquement les 1ères cellules vides de chaque sous-zone?

si c'est pour toutes les zones vides, nul besoin de tester les sous-zones....

@ te relire avec un peu plus de précisions.
 

Morgane

XLDnaute Nouveau
Re : Faire référence à une cellule vide en VBA

re bhbh,

euh bien désolé si je ne suis pas clair dans mes explications :( en prenant l'exemple suivant, C5 = 1 alors la cellule à laquelle je veux faire référence est C6 (de la Zone100 qui est elle même dans la Zone1).
Si je prends un autre exemple, toute les cellules sont remplies jusqu'à C10 alors la cellule à laquelle je veux faire référence est C11.
En fait le remplissage ce fait de haut en bas (C6, C7, C8 etc...) voilà pourquoi je souhaitais que la macro cherche d'abord dans la Zone1 puis dans la Zone100, puis dans la Zone101 etc...

Sinon comme indiqué plus haut, la macro que tu as fait à l'air de fonctionner :)
 

Staple1600

XLDnaute Barbatruc
Re : Faire référence à une cellule vide en VBA

Bonjour à tous


bhbh:
Ça tombe bien que tu sortes de ce fil, tu veux pas rentrer dans celui-là (la-bas , y des PJ)
mais vu que je dois faire un cake au jambon pour le pique-nique de ce midi, j'ai pas trop de le temps de vbater
(pi je voudrais pas mettre de gras tout plein les cellules)
Tu peux aller y jeter un oeil, stp, Morgane t'y attends je suis sur :)

PS: Sinon, vous boiriez quoi comme vin avec ce cake?
Et au fait , tout comme vous j'ai rien compris à la question.
 

Discussions similaires

Réponses
3
Affichages
292
Réponses
4
Affichages
278