Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

verifier une cellule et boucle

wrndid

XLDnaute Occasionnel
bonjour
je voudrais verifier que le cellule est vide, aprés ecrire de la cellule vide a la cellule 33 , mai comme j ecrit dans ma cellule 7,33 la boucle est terminer
que faire merci


For a = 3 To 33
If Cells(7, 3).Value = "" Then
Cells(7, a).Value = Sheets(FNomDuMois$(i)).Cells(Z, a).Value
End If
If a = 33 Then
Z = Z + 1
End If
Next a
 

fhoest

XLDnaute Accro
Re : verifier une cellule et boucle

Bonjour
tu as un problème dans ta boucle pour ta condition de départ
tu vérifie que ta cellules (7,3)= rien la premiere fois et tu lui attribue la valeur sheet... tu passe une seul fois dans la condition car lors du premier passage a=3 donc tu remplis ta condition et les autres fois cells(7,3) n'est plus jamais différent de rien.
pour le problème du 33 pourquoi ne pas vérifier jusque 34 dans ta boucle??
A+
 

pierrejean

XLDnaute Barbatruc
Re : verifier une cellule et boucle

Bonjour a tous

ta macro fonctionne comme tu l'as ecrite
Pour te dire comment la faire fonctionner comme tu le souhaites il nous suffira de savoir ce que tu veux qu'elle fasse
 

fhoest

XLDnaute Accro
Re : verifier une cellule et boucle

Re, si il est possible d'avoir le fichier pour comprendre cela serait plus simple car la pas grand chose,
Code:
For a = 3 To 33
' supprimer la condition If Cells(7, 3).Value = "" Then
Cells(7, a).Value = IIf(a <> 33, Sheets(FNomDuMois$(i)).Cells(Z, a).Value, Sheets(FNomDuMois$(i)).Cells(Z + 1, a).Value)
Next a
a tester
A+
bonjour pierrejean,j'ai louper la réponse précédente entre temps
 
Dernière édition:

wrndid

XLDnaute Occasionnel
Re : verifier une cellule et boucle

bonjour si ja bien comprit il faut ecrire ce
For a = 3 To 33
If (a <> 33, Sheets(FNomDuMois$(i)).Cells(Z, a).Value, Sheets
(FNomDuMois$(i)).Cells(Z + 1, a).Value)
If a = 33 Then
Z = Z + 1
End If
Next a

par contre il me dit erreur apres le 33 sur la virgule
merci
 

wrndid

XLDnaute Occasionnel
Re : verifier une cellule et boucle

bonjour
la ref c est la feuille de mars le bp commande 2 entrez numeros de semaine 9 ou 13 et recuperation des donnéé du mois precedent de la semaine a copier dans la feuille semaines
macro dans le module 10
merci
 

Pièces jointes

  • test.zip
    167.1 KB · Affichages: 50
  • test.zip
    167.1 KB · Affichages: 47
  • test.zip
    167.1 KB · Affichages: 47

wrndid

XLDnaute Occasionnel
Re : verifier une cellule et boucle

bonjour
la ref c est la feuille de mars le bp commande 2 entrez numeros de semaine 9 ou 13 et recuperation des donnéé du mois precedent de la semaine a copier dans la feuille semaines
macro dans le module 10 changer for a = 3 to 33
merci
Lien supprimé
 

fhoest

XLDnaute Accro
Re : verifier une cellule et boucle

bonsoir,
je viens de revenir du boulot et je voie que tu a une erreur :=
as tu mis exactement le meme code que je t'ai proposé,je ne pense pas.
copie le et colle le a la place de ce que tu m'a donner au départ:
de for a next
A+
Code:
Sub Extract_Sem()
Dim DateCherche, i&, J&, K&, L&
Dim TabReport(1 To 7, 1 To 31)
K = 0

Sheets("semaine").Cells(2, 3).Value = Application.ActiveSheet.Cells(2, 4).Value

DateCherche = InputBox("Veuillez saisir le numéro de semaine")
If DateCherche = 0 Or DateCherche = "" Then Exit Sub
If DateCherche < 1 Or DateCherche > 55 Then
    MsgBox "Merci de saisir un numéro de semaine valide"
    Exit Sub

End If
With ActiveSheet
    For i = 2 To 33
        If Format(DateSerial(Range("noan"), .Cells(2, 1), .Cells(i, 3)), "WW", vbMonday, vbFirstFourDays) = DateCherche Then
        K = K + 1
            For J = 1 To 31
                TabReport(K, J) = .Cells(i, J + 2)
            Next J
        End If
    Next i
   razsem
   efcouleur
End With
If K = 0 Then
    MsgBox "Cette semaine n'est pas présente sur cette feuille"
Else
    Sheets("semaine").Cells(3, 3).Resize(7, 31) = TabReport
    Sheets("semaine").Cells(1, 4).Value = "Semaines = " & DateCherche
    MsgBox "Semaine copiée"
End If

mois = Month(Range("c2"))
 
 i = mois
Z = 3

Annee = Range("noan")
J = FNbrDeJrDuMois(mois - 1, Annee) + 2



For a = 4 To 33
If Cells(5, 3).Value = "" Then
Cells(5, a).Value = Sheets(FNomDuMois$(mois - 1)).Cells(J, a).Value
End If
If a = 33 Then
J = J - 1
End If
Next a

For a = 4 To 33
If Cells(4, 3).Value = "" Then
Cells(4, 4).Value = Sheets(FNomDuMois$(mois - 1)).Cells(J, a).Value
End If
If a = 33 Then
J = J - 1
End If
Next a

For a = 4 To 33
If Cells(3, 3).Value = "" Then
Cells(3, a).Value = Sheets(FNomDuMois$(mois - 1)).Cells(J, a).Value
End If
If a = 33 Then
J = J - 1
End If
Next a


If Cells(6, 3).Value = "" Then
Cells(6, a).Value = Sheets(FNomDuMois$(i + 1)).Cells(Z, a).Value
End If
''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''
'ici le code modifié
For a = 4 To 33
Cells(7, a).Value = IIf(a <> 33, Sheets(FNomDuMois$(i + 1)).Cells(Z, a).Value, Sheets(FNomDuMois$(i + 1)).Cells(Z + 1, a).Value)
Next a

For a = 4 To 33
If Cells(8, 3).Value = "" Then
Cells(8, a).Value = Sheets(FNomDuMois$(i + 1)).Cells(Z, a).Value
End If
If a = 33 Then
Z = Z + 1
End If
Next a

For a = 4 To 33
If Cells(8, 3).Value = "" Then
Cells(9, a).Value = Sheets(FNomDuMois$(i + 1)).Cells(Z, a).Value
End If
If a = 33 Then
Z = Z + 1
End If
Next a

Code1_activate
impsem
SelectSurJourEnCours
End Sub
voici ta macro modifié avec le code que je t'ai donner
reste plus qu'a copier remplacer et tester dans ton fichier
ciao
 
Dernière édition:
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…