Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Appliquer une condition à toutes les lignes d'un tableau [ Divers / General ] (CROCHU)

samedi 14 juillet 2007 à 15:23:20 | Appliquer une condition à toutes les lignes d'un tableau

CROCHU

Bonjour,

Je suis confronté à un problème qui certainement vous semblera facile à résoudre mais que je n'arrive pas à solutionner depuis des mois :

Je souhaite appliquer une condition à l'ensemble d'un tableau excel sans pour autant répéter les mêmes instructions pour toutes les lignes de ce tableau.
 
Je bute sur ce problème depuis des mois sans être parvenu à trouver de solution ( ce n'est pas faute d'y avoir consacré du temps !)

Etant nouveau sur ce forum, je ne sais pas si je dois vous envoyer le code que j'ai écrit ou vous envoyer mon tableau car je me doute bien que sans ces éléments, cela va être difficile de m'aider.

En tous cas, je vous remercie par avance de me consacrer un peu de votre temps car j'ai vraiment besoin d'aide .

Cordialement,

Emmanuel

samedi 14 juillet 2007 à 22:57:12 | Re : Appliquer une condition à toutes les lignes d'un tableau

mortalino

Membre Club


Salut,

bienvenue à toi, n'hésite pas, oui, à nous montrer ton code, précise nous si tu es avec VBA d'Excel, ou VB6.
Puis le but à atteindre avec un max de précisions.
Pis si t'as des erreurs dans ton code, donne nous les

@++


( Nouveau forum : Exclusivement Office & VBA/STRONG>

dimanche 15 juillet 2007 à 09:51:50 | Re : Appliquer une condition à toutes les lignes d'un tableau

CROCHU

Bonjour,

Je vous remercie pour votre réponse et pour votre gentillesse.
Je vais essayer d'être plus précis :
sous VBA EXCEL, j'essaie d'appliquer une condition sur toutes les lignes d'un tableau.
J'ai tant bien que mal réussi sur la première ligne de mon tableau et cela marche mais je ne parviens pas à l'appliquer pour toutes les lignes ( cela fonctionnerait si j'écrivais ce code pour toutes les lignes ; je pense qu'on peut faire plus simple) :
Voilà ce que j'ai écrit :

Sub STOCKS()

With Sheets("BASEPRODUITS")

If Sheets("FACTURE").Range("B14").Value = Sheets("BASEPRODUITS").Range("B2").Value Then
Sheets("BASEPRODUITS").Range("E2").Value = Sheets("BASEPRODUITS").Range("E2").Value - Sheets("FACTURE").Range("G14").Value

End If
End With
If Range("E2").Value < 1 Then
Range("B2:K2").Interior.ColorIndex = 27
End If
End Sub

Ce classeur se compose de plusieurs feuilles :
1 feuille BASE PRODUITS
1 feuille FACTURE
La cellule B14 de la feuille FACTURE correspond au code produit ainsi que la la cellule B2 de la feuille BASEPRODUITS
La cellule E2 de la feuille de la feuille BASE PRODUIT correspond à la quantité en stock dispo.
Enfin, la cellule G14 de la feuille FACTURE correspond à la quantité vendue.
Le but est de mettre les stocks de la feuille BASEPRODUIT ( Range E2 : E50) à jour, par rapport à la quantité vendue ( cellule G14 de la feuille FACTURE).
Le code décrit ci dessus fonctionne mais je suis obligé de l'écrire 50 fois ( maximum sinon message d'erreur : procédure trop longue).
Je pense qu'on peut faire plus simple .
Je bloque sur cela depuis des mois et malgré ma bonne volonté ( recherche sur les boucles...), je ne trouve pas la solution.
C'est pour cela que j'ai besoin de votre aide et je vous en remercie à l'avance.

Cordialement,
Emmanuel ( quelqu'un de pas très intelligent mais qui ne demande qu'à apprendre).

 


dimanche 15 juillet 2007 à 10:58:32 | Re : Appliquer une condition à toutes les lignes d'un tableau

mortalino

Membre Club


Salut Crochu,

et bien tu as tellement bien exposé ton problème, c'est agréable à lire. J'espère être à la hauteur en te répondant.

Voici deux procédures, la première, c'est la tienne, avec 3 modifs et des explications sur ton With Sheets, dont tu ne te sers pas (et donc la méthode pour s'en servir).
La seconde procédure, c'est j'espère, ta demande ; le procédé étant simple, l'utilisation d'une boucle For To Next, pour incrémenter la valeur d'une cellule.


Option Explicit

Sub STOCKS()

With Sheets("BASEPRODUITS")
' le with ici est inutile, tu ne t'en sers pas.
' pour t'en servir, je metterai "<< modif >>"

                                            '<< modif >>
    If Sheets("FACTURE").Range("B14").Value = .Range("B2").Value Then
        '<< modif >>      
<< modif >>
        .Range("E2").Value = .Range("E2").Value - Sheets("FACTURE").Range("G14").Value
    
    End If
End With

If Range("E2").Value < Then
    Range("B2:K2").Interior.ColorIndex = 27
End If
End Sub

Sub STOCKS_2()
    Dim As Long
    
With Sheets("BASEPRODUITS")
    For i = To 50
        If Sheets("FACTURE").Range("B14").Value = .Range("B" & i).Value Then
            .Range("E" & i).Value = .Range("E" & i).Value - Sheets("FACTURE").Range("G14").Value
        End If
    Next i
End With

If Range("E2").Value < Then
    Range("B2:K2").Interior.ColorIndex = 27
End If
End Sub

~ Mortalino ~ Colorisation automatique

@++


( Nouveau forum : Exclusivement Office & VBA

dimanche 15 juillet 2007 à 13:49:33 | Re : Appliquer une condition à toutes les lignes d'un tableau

MPi

Salut à vous 2,
Mortalino (et Crochu), ne faudrait-il pas insérer dans la boucle la condition qui colore la ligne ?

With Sheets("BASEPRODUITS")
    For i = To 50
        If Sheets("FACTURE").Range("B14").Value = .Range("B" & i).Value Then
            .Range("E" & i).Value = .Range("E" & i).Value - Sheets("FACTURE").Range("G14").Value
        End If
        If .Range("E" & i).Value < Then
            .Range("B" & i & ":K" & i).Interior.ColorIndex = 27
        End If
    Next i
End With

End Sub

MPi



Cette discussion est classé dans : problème, tableau, lignes, appliquer, condition


Répondre à ce message

Sujets en rapport avec ce message

problème avec le nombre de 'or' dans une condition if [ par Daydayer ] bonjour,je suis en VBA et j'ai un problème sur une condition if. voici cette condition:            if (Range(PlaneNumberColumn + CStr(Row)).Value = Pl Copier ligne d'un tableau sous condition [ par spike13127 ] Voila j'ai un tableau avec deux colonnes et j'aimerais copier les lignes qui dans la deuxieme colonne on un chiffre inferieur a 4. Bien sur il faut co EXCEL-recup d'une somme de valeur d'1 tableau en fonction d'un 2eme [ par atomik29 ] Salut a tousJe suis completement novice en VB.En faite je dois faire ca pour la secretaire.Un bon stagiaire est un stagiaire exploite .... LOLbon voil MsFlexGrid ou tableau du meme genre VB ... [ par krlionel ] Bonjour, je ne programme que depuis 1semaine en VB, et donc j'ai tendance a ramer un peu !! Je cherche a afficher les resultats d'une recherche dans u Problème d'indexage avec un tableau [ par grand prophete ] Bonjour Voila mon problème. J'ai une carte PCI avec 2 entrée BNC qui me servent à echantilloner des signaux pour les afficher sur des oscillos virtue Comparer deux tableau multidimensionnel [ par fg85 ] Bonjour,Je suis en train de développer une petit application en VB.NET (avec Microsoft Visual Basic 2005 Express Edition) , et un "petit" problème ce Problème de tri sur tableaux (collection Objets) [ par JMO ] Bonjour Problème de tri dans un tableau.J'ai un tableau sur 3 colonnes et 16 lignes    EXPLOIT.EDI Problème de lecture de tableau word [ par LukeSkywalker67 ] Bonjour à tous,Je balaye toutes les cellules d'un tableau word à partir d'une application VB6. Pas de problème pour lire les caractères de chaque cell insertion de ligne de couleur dans un tableau selon un critere de comparaison de texte ligne par ligne [ par toinish ] Bonjour,    Je remplis un tableau excel a partir d une base de données chaque jour... Ce tableau comporte aujourd hui plus de 1500 lignes et j ai voul Excel/Word - 1 tableau sur 2 pages [ par Groargreugro ] A partir d'Excel, j'alimente les cases d'un tableau de 21 lignes dans Word à partir de données prealablement rentrées par des utilisateurs. Une case


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 2,246 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.