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

Syntaxe for each + complement

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 !

miguelangelo

XLDnaute Occasionnel
Bonjour à tous,

j'ai une lacune de langage certainement.

Voilà, dans un tableau plat avec un certain nombre de valeurs en colonne A (a1,a2,..a350) je veux que la macro prenne chacune des ces valeurs et lance une macro à chaque fois

seulement voilà, en colonne J, si la valeur de la cellule est "SCI" ou "fermée", je veux qu'il saute la ligne.

j'ai essayé ca :

For Each c In Range("a3:a350")

If c.Column + 10 = "SCI" Then GoTo suivant
If c.Column + 10 = "fermée" Then GoTo suivant
Application.Run "new_facture"
Range("b4") = c.Value
Application.Run "complement"
Application.Run "enregistrer_effacer"
suivant:
Next

Mais ca me les prends quand même.

Merci à vous
 
Re : Syntaxe for each + complement

Bonjour à tous

Voici un bout de code pour faire en sorte que la saisie se fasse automatiquement en fonction des valeurs présentes dans Range("a3:a350").

Seulement voilà je pensais que la fonction each s'arretait dès que plus de valeur.
c'est pas le cas. Est qu'il me manque qqchose ?

Merci à vous


Sub saisie_auto()

Dim y As Long
Dim z As String
y = 0
z = Sheets("calcul loyer").Range("m1").Value

For Each c In Range("a3:a350")

If c.Offset(0, 9) = "SCI" Then GoTo suivant
If c.Offset(0, 9) = "fermée" Then GoTo suivant
Application.Run "new_facture"
Range("b4") = c.Value
Application.Run "complement"
Application.Run "enregistrer_effacer"
y = y + 1
suivant:
Next
MsgBox "Le traitement est fini." & y & " factures ont été enregistrées pour un montant total de " & z & " €"

End Sub
 
macro assez lourde, peut on l'alleger ??

au final voilà comment se présente ma macro. elle fonctionne.
mais je la trouve redondante ou lourde.

un avis ??


Dim info As String
Dim y As Long
Dim z As String
Dim reponse
y = 0
z = Sheets("calcul loyer").Range("m1").Value

info = InputBox(Prompt:= _
"Si vous Souhaitez lancer la création de factures par région, indiquer la région voulue. En laissant vide, toutes les régions seront générées.", _
Title:="Génération des factures par région")
If info = "" Then GoTo totale

Sheets("agences").Select
Range("a3").Select
For Each c In Range("a3:a" & Range("A65536").End(xlUp).Row)

If c.Offset(0, 1) <> info Then GoTo suivant
If c.Offset(0, 10) = "" Then GoTo suivant
If c.Offset(0, 9) = "SCI" Then GoTo suivant
If c.Offset(0, 9) = "fermée" Then GoTo suivant
Application.Run "new_facture"
Range("b4") = c.Value
Application.Run "complement"
Application.Run "enregistrer_effacer"
y = y + 1
suivant:
Next
MsgBox "Le traitement est fini." & y & " factures ont été enregistrées pour un montant total de " & z & " €"

End
totale:
reponse = MsgBox("Lancer la génération facture pour tous les CIA", vbYesNo, "Question")
If reponse = vbNo Then End
Sheets("agences").Select
Range("a3").Select
For Each c In Range("a3:a" & Range("A65536").End(xlUp).Row)

If c.Offset(0, 10) = "" Then GoTo suivant1
If c.Offset(0, 9) = "SCI" Then GoTo suivant1
If c.Offset(0, 9) = "fermée" Then GoTo suivant1
Application.Run "new_facture"
Range("b4") = c.Value
Application.Run "complement"
Application.Run "enregistrer_effacer"
y = y + 1
suivant1:
Next
MsgBox "Le traitement est fini." & y & " factures ont été enregistrées pour un montant total de " & z & " €"
 
- 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

E
Réponses
6
Affichages
1 K
erictran
E
Réponses
1
Affichages
480
J
Réponses
9
Affichages
1 K
juicelink
J
A
  • Question Question
Microsoft 365 Question VBa
Réponses
5
Affichages
806
A
L
Réponses
9
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…