Accueil > Forum > > > > [Déplacé vb.Net -> VBA] VERIFIER UNE CONDITION SUR 12 FEUILLES AVEC LA MEME COMMANDE
[Déplacé vb.Net -> VBA] VERIFIER UNE CONDITION SUR 12 FEUILLES AVEC LA MEME COMMANDE
vendredi 3 juillet 2009 à 18:33:44 |
[Déplacé vb.Net -> VBA] VERIFIER UNE CONDITION SUR 12 FEUILLES AVEC LA MEME COMMANDE

NANY1012
|
Bonjour, J'ai commencé une macro qui me sert de formulaire de saisie,elle fonctionne bien. Mais maintenant je souhaiterai que le programme me dise si une saisie et déjà écrite dans les cellules de destination (12 feuilles au total identique 1 par mois ). Pour la saisie j'utilise la fonction on while et offset. J'essaie de faire la même chose pour la commande de vérification . Voici le code: Dim i As Integer i = 0 Do While Sheets("janvier").Range("B9").Offset(i, 0).Value <> Sheets("Formulaire").Range("B5").Value And i < 65 i = i + 1 Loop If Sheets("janvier").Range("B9").Offset(i, 2).Value <> 1 Then Else i = 0 Do While Sheets("février").Range("B9").Offset(i, 0).Value <> Sheets("Formulaire").Range("B5").Value And i < 65 i = i + 1 Loop If Sheets("février").Range("B9").Offset(i, 2).Value <> 1 Then Dim info1 As Integer info1 = MsgBox("!!!INFO!!! Une saisie sur la même date a déjà été faites,toutes les anciennes données seront effacées!!!INFO!!! ", vbYesNo + vbInformation, "infos") If info1 = 7 Then Exit Sub End If End If J'ai mis le <> 1 mais je ne connais pas le code pour dire que la cellule est vide ,l'idéal serait que la vérification soit sur "offset de (i,2) à (i,22)ce qui correspondant à la ligne de saisie. Le code précedent fonctionne uniquement sur la feuille de janvier mais pas sur celle de février,alors pour la suite... je suis perdu.... Si toutefois quelqu'un peut m'aider un peu ... Merci à tous
|
|
samedi 4 juillet 2009 à 03:29:15 |
Re : VERIFIER UNE CONDITION SUR 12 FEUILLES AVEC LA MEME COMMANDE

jack
|
Réponse acceptée !
Salut Le VB de Excel n'est pas du .Net ---> Catégorie modifiée
Texte illisible, pas le courage de remettre en forme. Tu peux t'adresser à une feuille de deux manières : - par son nom, comme tu l'as fait, avec Sheet("Janvier")- par son numéro, avec Sheet(1), en suppoosant que tu as mis Janvier dans la première Feuille. A partir de là, il te suffit de faire un niveau de boucle supplémentaire pour remplacer le 1 par un chiffre allant de 1 à 12, etc. Vala Jack, MVP VBNB : Je ne répondrai pas aux messages privés Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
|
|
samedi 4 juillet 2009 à 11:02:10 |
Re : [Déplacé vb.Net -> VBA] VERIFIER UNE CONDITION SUR 12 FEUILLES AVEC LA MEME COMMANDE

NANY1012
|
Bonjour, Merci pour la réponse Jack, je vais essayer de mieux m'expliquer. J'ai remis le code dans un format plus lisible, pour la boucle j'ai essayé mais au dela de 2 feuilles le msg ne s'active pas même si dans les cellules de la feuille de destination il y a des valeur. La démarche est que la cellule B5 de la feuille formulaire est une date . La recherche se fait à partir de la cellule B9 des feuilles et vérifie les dates puis lorsque la date est trouvée ,il faudrait vérifier les cellules de "offset(i,2)à offset(i,22),...mais là cela se corse est le programme fonctionne uniquement sur la feuille "janvier". J'ai un problème avec la boucle Sinon j'ai aussi une question comment dois t on coder pour une la vérification d'une cellule vide dans une feuille (la cellule contient une formule...est la je coince encore...) Je débute vraiment ..... Voici le code mis en forme: Dim i As Integer i = 0 Do While Sheets("janvier").Range("B9").Offset(i, 0).Value <> Sheets("Formulaire").Range("B5").Value And i < 65 i = i + 1 Loop If Sheets("janvier").Range("B9").Offset(i, 2).Value <> 1 Then Else i = 0 Do While Sheets("février").Range("B9").Offset(i, 0).Value <> Sheets("Formulaire").Range("B5").Value And i < 65 i = i + 1 Loop If Sheets("février").Range("B9").Offset(i, 2).Value <> 1 Then Dim info1 As Integer info1 = MsgBox("!!!INFO!!! Une saisie sur la même date a déjà été faites,toutes les anciennes données seront effacées!!!INFO!!! ", vbYesNo + vbInformation, "infos") If info1 = 7 Then Exit Sub End If End If End if En espérant que quelqu'un pourra déchiffrer ce que je veux faire... Merci à tous
|
|
samedi 4 juillet 2009 à 11:10:00 |
Re : [Déplacé vb.Net -> VBA] VERIFIER UNE CONDITION SUR 12 FEUILLES AVEC LA MEME COMMANDE

NANY1012
|
RE Je viens de voir que la mise en forme que j'ai saisie dans le formulaire de réponse du site ne s'applique pas , comment faites vous pour faire apparaitre les saut de lignes ,espaces...etc . Mon message arrive tout de rang. Merci à vous
|
|
samedi 4 juillet 2009 à 16:58:18 |
Re : [Déplacé vb.Net -> VBA] VERIFIER UNE CONDITION SUR 12 FEUILLES AVEC LA MEME COMMANDE

NANY1012
|
Bonjour à tous et désolé pour la multiplication de ce message. Ouf enfin je peux transmettre ce message correctement Merci pour la réponse Jack, je vais essayer de mieux m'expliquer. J'ai remis le code dans un format plus lisible, pour la boucle j'ai essayé mais au dela de 2 feuilles le msg ne s'active pas même si dans les cellules de la feuille de destination il y a des valeur. La démarche est que la cellule B5 de la feuille formulaire est une date . La recherche se fait à partir de la cellule B9 des feuilles et vérifie les dates puis lorsque la date est trouvée ,il faudrait vérifier les cellules de "offset(i,2)à offset(i,22),...mais là cela se corse est le programme fonctionne uniquement sur la feuille "janvier". J'ai un problème avec la boucle Sinon j'ai aussi une question comment dois t on coder pour une la vérification d'une cellule vide dans une feuille (la cellule contient une formule...est la je coince encore...) Je débute vraiment ..... Voici le code mis en forme: Dim i As Integer i = 0 Do While Sheets("janvier").Range("B9").Offset(i, 0).Value <> Sheets("Formulaire").Range("B5").Value And i < 65 i = i + 1 Loop If Sheets("janvier").Range("B9").Offset(i, 2).Value <> 1 Then Else i = 0 Do While Sheets("février").Range("B9").Offset(i, 0).Value <> Sheets("Formulaire").Range("B5").Value And i < 65 i = i + 1 Loop If Sheets("février").Range("B9").Offset(i, 2).Value <> 1 Then Dim info1 As Integer info1 = MsgBox("!!!INFO!!! Une saisie sur la même date a déjà été faites,toutes les anciennes données seront effacées!!!INFO!!! ", vbYesNo + vbInformation, "infos") If info1 = 7 Then Exit Sub End If End If End if En espérant que quelqu'un pourra déchiffrer ce que je veux faire... Merci à tous 
|
|
samedi 4 juillet 2009 à 17:36:25 |
Re : [Déplacé vb.Net -> VBA] VERIFIER UNE CONDITION SUR 12 FEUILLES AVEC LA MEME COMMANDE

jack
|
Réponse acceptée !
Re Tu as une curieuse façon d'indenter ton code. Non, je ne ferait pas ton code, c'est à toi de reflechir avec les indications que je t'ai données. Des boucles, tu sembles savoir les faire. Qu'y a t-il de compliqué à faire une boucle de 1 à 12 ? Dans ton code, je ne sais pas à quoi tu veux arriver car, après être sorti de tes boucles, tu as une valeur 'i' mais tu n'en fais rien. Bizarre. Si tu es sensé retrouver une valeur dans un Range, applique la technique simple : Dim bTrouvé As Boolean Dim mCellule As Object Sheets("Janvier").Select bTrouvé = False For Each mCellule In Range("B9:B74") If mCellule.Value = Sheets("Formulaire")... Then bTrouvé = True Exit For End If DoEvents Next If bTrouvé Then MsgBox ... End If Il y a d'autres solutions, comme le Find ...
|
|
dimanche 5 juillet 2009 à 13:15:21 |
Re : [Déplacé vb.Net -> VBA] VERIFIER UNE CONDITION SUR 12 FEUILLES AVEC LA MEME COMMANDE

NANY1012
|
Bonjour, Merci pour la réponse , je ne connaissais pas cette fonction. Mais pour mon problème tu as raison,je vais essayer la fonction Find, car je dois chercher la valeur de la cellule B5 de ma feuille "Formulaire" dans une de mes 12 autres feuilles dans Range("B9:B74) sans me positionner dessus mais ensuite vérifier si la cellule se trouvant à droite de celle trouvée est vide ou <>1 Alors si <>1 le msgbox s'active.
Si tu peux me montrer un code en Find afin que je puisses comprendre le fonctionnement ou bien m'expliquer le principe de code... En te remerciant . Bonne fin de journée..........

|
|
Cette discussion est classée dans : saisie, value, range, offset, sheets
Répondre à ce message
Sujets en rapport avec ce message
macro pb extractions de données en fonction de criteres situés dans 2 colonnes [ par matbrasil ]
bonjour, Je ne suis pas un champion en VBA mais je me suis lancé. J ai une base de donnée qui contient les elements suivants colonne B : heure de ne
Problème avec une double boucle for..next et deux variables [ par trolllllus ]
Bonjour, Novice en programmation, je rencontre un problème dans le code suivant. Je cherche a réaliser la boucle sur i pour chaque valeur de j. Pri
Enregistrement dans une feuille excel [ par lilmonie ]
Hello, Je souhaiterais modifier mon code pour permettre à l'utilisateur de pouvoir enregistrer les données sachant qu'une ligne de données sélectionn
Checkbox générées dynamiquement et événements (click) [ par OCamarade ]
Bonjour à tous, Je suis actuellement sur un projet VBA et je suis confronté au problème suivant : je cherche à faire du traitement d'événement sur de
[Déplacé VB6 --> VBA] condition pour remplir une colonne avec VBA (urgent) [ par ABMP ]
Bonjour, J'ai cherché avant mais je n'ai rien trouvé sur le forum. je voudrais savoir comment poser une condition afin qu'un colonne prenne une val
Macro excel [ par nanie13 ]
Bonjour,
[Excel] Faire une extraction sans doublon [ par AiDuK ]
Bonjour à toutes et à tous,Je cherche actuellement à faire une extraction d'une feuille qui sert de formulaire, vers une pseudo base de donnée sous Ex
[Excel] Faire une Extraction en choisissant le fichier et la feuille d'ou l'on extrait [ par AiDuK ]
Bonjour à toutes et à tous,Actuellement, mon code me permet d'extraire les informations contenues dans une feuille excel ( formulaire ), afin de les a
[Excel | VBA] Condition sur nom de la feuille [ par AiDuK ]
Bonjour à toutes et à tous,Mon code est presque terminé, cependant, je boque sur une partie.Ce code permet de parcourir l'ordinateur pour ouvrir n'imp
pb temps d'exécution [ par speedyk62 ]
Bonjour,Voilà mon problème, j'ai à peu pret 2000 lignes à traiter. J'extrais des données de la feuille b vers la feuille a. Je mets 10 min à exécuter
Livres en rapport
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|