Boucle en détresse

  • Initiateur de la discussion Xor
  • Date de début
X

Xor

Guest
Bonjour le bo Forum

Comment allez vous?

J´ai un début de boucl

Je souhaiterais juste donner comme conditions:
Si toutes les cellules soient vides donc egale à '' -> A
Si toutes les cellules sont égales mais différentes de '' ->b
Else -> C

J´essaie de le faire mais ca ne me parait pas applicable en language VBA

For Each Prueba In Range(cell(y, 4), cell(y, 7), cell(y, 9), cell(y, 11), cell(y, 13), cell(y, 16))
IF Prueba(n)=Prueba(n+1)= ' ' Then
....

Quelqu´un aurait-il un conseil?

Xor
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Xor, bonjour le froum,

Je te propose la macro ci-dessous que tu devras adapter à ton cas (dans cet exemple y=1 et je pense que tu dois boucler dessus). Les messages qui s'affichent seront à remplacer par tes codes.

Sub Macro1()
Dim Prueba As Range 'déclare la variable Prueba
Dim playa As Range 'décalre la variable playa
Dim x As Byte 'décalre la variable x
Dim z As Byte 'décalre la variable y
Dim valeur() 'décalre la variable valeur (tableau)
y = 1 'pour tester mon exemple (ton code y fait référence)
'définit la variable playa
Set playa = Application.Union(Cells(y, 4), Cells(y, 7), Cells(y, 9), Cells(y, 11), Cells(y, 13), Cells(y, 16))
'boucle sur toutes les cellule 'Prueba' de la plage 'playa'
For Each Prueba In playa
If Prueba <> '' Then 'condition : si la cellule n'est pas vide
GoTo idem 'va à la balise 'idem' (sans afficher le message 'Toutes vides : A')
End If 'fin de la condition
Next Prueba 'prochaine cellule 'Prueba'de la plage 'playa'
MsgBox 'Toutes vides : A' 'message (place ici ton code)
Exit Sub 'sort de la procédure
idem: 'balise
x = 0 'définit la variable x
'boucle sur toutes les cellule 'Prueba' de la plage 'playa'
For Each Prueba In playa
ReDim Preserve valeur(x) 'redefinit la taille du tableau 'valeur'
valeur(x) = Prueba.Value 'definie la valeur x du tableau 'valeur'
For z = 0 To x 'boucle sur toutes les valeurs du tableau
If valeur(x) <> valeur(z) Then 'condition : si une des valeur est différente,
GoTo fin 'va à la balise 'fin' (sans afficher le message 'Toutes Identiques : B')
End If 'fin de la condition
Next z 'prochaine valeur du tableau
x = x + 1 'redéfinit la variable x
Next Prueba 'prochaine cellule 'Prueba' de la plage 'playa'
MsgBox 'Toutes Identiques : B' 'message (place ici ton code)
Exit Sub 'sort de la procédure
fin: 'balise
MsgBox 'C' 'message (place ici ton code)
End Sub
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour le fil, José, le forum,

Mais qu'on le pende cet enfoiré de José qui rapplique pour nous dire qu'il reviens de la plage !!! P... ça sent la crème solaire maintenant quand je rentre dans le forum...

Profite Hombre, tu l'as bien mérité. Tu es o&ugrave; ?
 

Hellboy

XLDnaute Accro
Bonjour Xor

Je comprend ta demande, mais il manque quelque détails pour bien y répondre.

1- Les conditions auquels tu fais référence, est-ce un 'ou(or)' entre elles ou un 'ET(and)' ?

2- Est-ce que je comprend bien que tes colonnes sont connues, mais pas tes lignes?

3- Les lignes qu'elles sont elles ?

4- Expliques un peu d'avantage et même mieux si tu peux joindre un fichier.
 
X

Xor

Guest
Salut josé Hell Boy et Robert

Y a une bonne ambiance sur ce fil!! C est cool...
y en a qui se dore a la plage alors que d autres se tuent les neuronnes a VBAtiser...

Pour en revenir a amon pb, j ai joint un fichier lpus clair sur le problème que j&acute;ai à résoudre..

J&acute;ai essayé de comprendre la macro de Robert et de l adapter à mon cas. Mais j ai du mal.. J&acute;ai essayé de bifurqué sur une macro à 3 boucles mais ca a pas l air de marcher sur le Vba..

Si vous avez des conseils, ils seront roujours les bienvenus

MErci en tout cas
Xor
 
X

Xor

Guest
Desolé voila le fichier [file name=Macro verifiant un tableau_20050601180007.zip size=10506]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Macro verifiant un tableau_20050601180007.zip[/file]
 

Pièces jointes

  • Macro verifiant un tableau_20050601180007.zip
    10.3 KB · Affichages: 9

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour le fil, bonjour le forum,

Alors ! elle est o&ugrave; la demo de José ? Ha ça ! Pour dire des co... y a du monde. Non mais je rêve ! Me traiter de Sancho Pança... Moi dont le profil fait rêver les magazines de mode. Sans vouloir me vanter, j'affirme avoir posé pour plus d'un millier de photos. Toutes vantant des produits amaigrissants. J'en ai même fait pour des pillules qui rendent intelligent... C'est vous dire. Bon d'accord... C'est vrai... je faisais la photo qui montre Avant tandis que l'Après était fait par d'autres. Mais ça vous n'êtes pas obligés de le répéter...

Mais trêve de blabla Xor... j'agis moi (loule) et te propose même une solution en pièce jointe.
[file name=xor.zip size=12213]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/xor.zip[/file]
 

Pièces jointes

  • xor.zip
    11.9 KB · Affichages: 11

Robert

XLDnaute Barbatruc
Repose en paix
Le fil, le forum,

Désolé, mille souris, j'ai 'salopé' c'est vrai avec des L1C1. Pour revenir au normal il suffit de faire : menu Outils/Options, onglet Général, décocher la case Style de référenceL1C1. Heu voili voilà... Ne dit-on pas 'Laideur est humaine' ? Pff... Quel chiant ce José... Au fait pourquoi tu veux combattre les moules ? Hein !
 
X

Xor

Guest
Merci Robert et josé pour votre aide

désolé Helloman pour ne pas avoir repondu plutot. mais j&acute;étais en déplacement jusque aujourd&acute;hui..

Merci pour cette petite macro qui va bien m&acute;être utile..

Bonne gin de journée

Xor
 

Discussions similaires

Réponses
1
Affichages
1 K

Statistiques des forums

Discussions
312 609
Messages
2 090 196
Membres
104 449
dernier inscrit
Miguel937