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
Discretion [ par DjVen ]
voici mon code : Dim gaga As Integer If Range("F9").Value = "" Or Range("F12").Value = "" Then MsgBox "Remplir les champs", vbExclamat
copier collage spécial [ par bassojea ]
Bonjour à tous qui peut m'aider? voici un bout de code sur lequel je butte... la macro fonctionne bien sauf que 'cell.Offset(0, 8)' est le résultat d'
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
Livres en rapport
|
Derniers Blogs
[SHAREPOINT] NOUVELLE PRéSENTATION POUR LA DOCUMENTATION SHAREPOINT SUR TECHNET.[SHAREPOINT] NOUVELLE PRéSENTATION POUR LA DOCUMENTATION SHAREPOINT SUR TECHNET. par Patrick Guimonet
Vous l'avez peut-être déjà remarqué ? La documentation SharePoint a subit un cure de "relooking" et prend un style inspiré de Metro, donc plus sobre, plus pur, plus clair ! C'est sur fond blanc et ca ressemble à ça : Globaleme...
Cliquez pour lire la suite de l'article par Patrick Guimonet ASYNC/AWAIT: COMPRENDRE COMMENT CA MARCHEASYNC/AWAIT: COMPRENDRE COMMENT CA MARCHE par fathi
Tout le monde est unanime pour dire que la programmation multi-thread et asynchrone est en train de devenir un sujet incontournable. Beaucoup de choses sont arrivées avec le framework 4 pour le code parallèle (TPL, PLinq,.) et bientôt, on va avoir l...
Cliquez pour lire la suite de l'article par fathi PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS !PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS ! par Etienne Margraff
J'ai récemment eu un problème pour obtenir l'intelliTrace sur un site web dans IIS. Il n'y avait pas de message d'erreur, rien dans le journal d'évènement Windows, et après 3 appels à une voyante, 2 visites chez un marabou, j'ai failli me résign...
Cliquez pour lire la suite de l'article par Etienne Margraff OFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONSOFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONS par junarnoalg
De nombreuses entreprises font le choix de SharePoint Online, service fourni au travers de l'offre de Microsoft Office 365. S'il est vrai que ce choix apporte un grand nombre d'avantages; rapidité de mise en œuvre, disponibilité, large couvertu...
Cliquez pour lire la suite de l'article par junarnoalg PRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGEPRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGE par richardc
http://www.c2idotnet.com/articles/presentation-des-api-rest-de-windows-azure-lister-les-comptes-de-storage
Désolé pour "toto", mais c2i existait avant blogs.developpeur.org et c'est mon site "officiel" ;-) ...
Cliquez pour lire la suite de l'article par richardc
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|