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

verifier une cellule et boucle

  • Initiateur de la discussion Initiateur de la discussion wrndid
  • Date de début Date de début

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 !

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
 
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+
 
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
 
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:
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
 
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

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é
 
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:
- 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
15
Affichages
789
Réponses
5
Affichages
914
Réponses
4
Affichages
281
Réponses
4
Affichages
735
Réponses
8
Affichages
783
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…