Accueil > Forum > > > > VBA variable a chaine de caractere
VBA variable a chaine de caractere
mercredi 14 septembre 2005 à 11:39:09 |
VBA variable a chaine de caractere

la_bavaroise
|
Bonjour a tous,  voivi ma question: je suis en train de créer une macro pour qu'elle puisse automatiquement me détecter des fautes de données dans une feuille excel qui contient des données importées d´une BDD externe. j'ai donc créer une variable qui détecte les fautes, mais je n'arrive pas a lui ajouter différentes sortes de fautes. Je voudrais, par exemple, effacer les cellules qui contiennent soit un? ou une , ou autre chose. Puis-je faire prendre a ma variable plusieurs valeurs?  Merci d'avance a ceux qui auront compris ma question et qui sauront y repondre. Si ce n'est pas clair, n'hesitez pas a me le faire savoir, je joindrai mon code... le seul hic, c ke les variables sont en allemand, ms je joindrai la traduc a cote bien evidemment!!! (Jhabite a Munich)  Merci encore la bavaroise...
|
|
mercredi 14 septembre 2005 à 11:50:24 |
Re : VBA variable a chaine de caractere

VBFranceBlub
|
Salut;
Effectivement, tout ça n'est pas très clair.
D'après ce que j'ai compris, tu veux pouvoir récupérer la valeur d'une cellule de la feuille Excel et la tester pour savoir si elle contient une faute de frappe?
Pour affecter une valeur à une variable:
'Déclaration de la variable en type Variant pour accepter tous les caractères et tous les formats de données Public MaVariable As Variant
'Affectation de la valeur d'une cellule à ta variable MaVariable = Cells(CoordonnéeX,CoordonnéeY) <-Blub->
|
|
mercredi 14 septembre 2005 à 11:57:45 |
Re : VBA variable a chaine de caractere

econs
|
'Déclaration de la variable en type Variant pour accepter tous les caractères et tous les formats de données Public MaVariable As Variant
'Affectation de la valeur d'une cellule à ta variable MaVariable = Cells(CoordonnéeX,CoordonnéeY) If Instr(1,MaVariable,"?",vbTextCompare) > 0 Then Cells(CoordonneeX,CoordonneeY).FormulaR1C1 = "" EndIf If Instr(1,MaVariable,",",vbTextCompare) > 0 Then Cells(CoordonneeX,CoordonneeY).FormulaR1C1 = "" EndIf Manu ------------------------------------------- Une question bien posée, c'est une chance de réponse bien adaptée.
|
|
mercredi 14 septembre 2005 à 16:48:36 |
Re : VBA variable a chaine de caractere

la_bavaroise
|
ok en fait tu as bien cerne mon pb, malgre mon langage assez approximatif en effet!!
en fait, le code que tu mas donne ne peut pas fonctionner car je ne sais pas ou seront precisement les fautes, tt dependera a chaque fois de lactualisation des donnees. cest pour cela que je ne peux pas affecter la valeur d'une cellule a ma variable, seulement une colonne (je sais que les noms a chercher st seulement ds la colonne C) voici mon code:
Option Explicit Public Sheet_Quelle, Sheet_Quelle_col, Sheet_Quelle_Ende '(Quelle=source) Sub Finde_Fehler() '(macro trouver_faute) '*********************************************************************************** 'Variables a declarer '****************************************************************** Sheet_Quelle = "WWH" 'le nom de ma Worksheet, ou je veux trouver la derniere 'ligne Sheet_Quelle_col = "C" la colonne de ma Worksheet, ou je veux trouver la 'derniere ligne
Call letzte_zeile_Quelle ' la derniere ligne, qui sera trouve par Public Sub 'letzte_zeile grace a lordre Call Sheets(Sheet_Quelle).Select Dim k, Zelleninhalt, Fehler_Text As Variant Fehler_Text = "?" For k = 1 To Sheet_Quelle_Ende Zelleninhalt = Sheets(Sheet_Quelle).Range(Sheet_Quelle_col & k).Value 'maintenant voir, si le contenu de la cellule a une faute If InStr(Zelleninhalt, Fehler_Text) Then 'la, jutilise la fonction InStr 'si il y a bien une faute, alors Rows(k).Delete 'Die Zeile löschen, da ein Fehler drin ist k = k - 1 End If Next k End Sub Public Sub letzte_zeile_Quelle() Sheets(Sheet_Quelle).Select Sheet_Quelle_Ende = 0 Sheet_Quelle_Ende = ActiveSheet.Cells(Rows.Count, Sheet_Quelle_col).End(xlUp).Row End Sub
Voila, mon seul souci est d'arriver a dire quil peut y avoir differentes fautes (cf en rouge) et en fait donner le choix a cet variable detre soit ? ou, etc...
Bon si tu vois pas ce ke je veux dire, ya pas de souci, te prends pas la tete, en tt cas, merci qd meme pour ta gentillesse! Ciao, la bavaroise
|
|
jeudi 15 septembre 2005 à 11:23:10 |
Re : VBA variable a chaine de caractere

Tuning Max
|
Réponse acceptée !
fait plusieurs variables et rajoute OR dans ton code pour la recherche Fehler_Text = "?" Fehler_Text2 = "!"
For k = 1 To Sheet_Quelle_Ende Zelleninhalt = Sheets(Sheet_Quelle).Range(Sheet_Quelle_col & k).Value 'maintenant voir, si le contenu de la cellule a une faute If InStr(Zelleninhalt, Fehler_Text) Or InStr(Zelleninhalt, Fehler_Text2)Then
|
|
jeudi 15 septembre 2005 à 11:23:19 |
Re : VBA variable a chaine de caractere

bertholdt
|
Salut
Utilise $ pour remplir une variable avec une valeur String. Par exemple cellule$ = Cell(X,Y).Value
Quelle que soit le type de valeur contenu dans les cellules, la valeur sera stockée dans cellule$ au format string (chaîne de caractères). Ensuite, tu peux utiliser InStr sans problème.
Dans le code que tu as posté, tu écris :
If InStr(Zelleninhalt, Fehler_Text) Then ...
Mais tu ne compares rien ! En fait, il faut écrire
If InStr(1, cellule$, ton paramètre "?", vbTextCompare) <> 0 Then ...
Bon courage
Pierrick
|
|
jeudi 15 septembre 2005 à 11:57:05 |
Re : VBA variable a chaine de caractere

la_bavaroise
|
Salut a tous,  merci de mavoir repondu, c genial: ca marche Cap'taine!! Alors encore merci beaucoup, les plus petites difficultes st peut etre les + ennuyantes je crois....  Merci particulierement a Tuning Max et a Berthold pour leur precieux conseils!!! Bon week-end a vous, je trinquerai à votre santé ce week-end, c'est l'ouverture de l'Oktoberfest (Fete de la biere a Munich) Bonne continuation, Caroline (alias la_bavaroise  )
|
|
Cette discussion est classée dans : vba, variable, chaine, caractere, fautes
Répondre à ce message
Sujets en rapport avec ce message
transmettre une chaine de caractere d'un formulaire a un autre en VBA [ par agnescat ]
Bonjour, J'ai une chaine de caratere dans un formulaire. Je souhaite remplir le textbox d'un autre formulaire avec cette chaine.Comment faire?Merci.
Variable et chaine de caractere [ par moktin ]
Bonjour, Voila, je voudrais utilise le contenu d'une variable pour faire appelle a une variable qui a ce nom.Exemple :Dim var as stringDim texte as st
recherche d'une chaine de caractere à l'interieur de module VBA [ par Col ]
Bonjour, Est-il possible par une macro sous Excel, de rechercher une chaine de caractères à l'interieur d'un projet VBA ? (et si oui, comment ?) Mer
récupérer une variable VB sous VBA. [ par Dylanoic ]
Bonjour à tous. Voici mon soucis : j'ai un code VB qui contient une variable. Je n'arrive pas à récupérer cette variable via un autre programme que j'
vba excel problème de chaine [ par nitho ]
bonjour à tous, j'ai un pb sur vba excel 2003, je sais que c'est différent de vb mais je n'ai pas trouvé le bon thème. Le pb est tout simple. j'ai mis
VBA et police 128 sous WORD [ par nicus88 ]
Bonjour,Je cherche a mettre en œuvre un code barre 128 sur mes documents Word.Je dispose de la police 128 et d'une fonction.Cette fonction prend en en
[VBA] Sélectionner plusieurs colonnes par variable chaine [ par Aurelangelo ]
Bonjour les internautes,Je rencontre une petite difficulté au niveau de mon script VBA qui a pour but de créer une série de graphiques en fonction du
Deux Strings identique? [ par UltimataL ]
Bonsoir, J' aimerais savoir comment faire pour comparer une chaine de caractères variable à une autre défini?? X1 = variable X2 = "ABC" if x1.????(
vbs comparaison de chaine de caractere [ par mafip ]
Bonjour a tousJ'ai écrit un script qui permet de créer des utilisateur dans active directory a partir d'une liste (fichier.txt). Et maintenant j'aimer
affichage de varviable et de chaine de caractere dans une textbox [ par Neotaxi ]
Bonjour je viens encore pour un tout petit problème bête comme tout mais où internet ne me donne aucune réponses... Voilà le problème; j'arrive à met
Livres en rapport
|
Derniers Blogs
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
|