IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Transformer du "code Excel" en VBA, ça donnerait quoi ? [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2012
    Messages : 69
    Par défaut Transformer du "code Excel" en VBA, ça donnerait quoi ?
    Bonjour,

    je reviens avec une autre question sur le même fichier (pour ceux qui suivent mes aventures trépidantes ^^)

    Le fichier en question...
    http://dl.free.fr/i7noV968J

    Pour utiliser ce fichier, nous collons une ligne html (ligne 16 et 17 de l'onglet "Explications" comme exemple) sur la cellule A de l'onglet "Incidents mensuels". Ça complète automatiquement les colonnes A à E.

    La cellule D requiert une intervention manuelle que je voudrais automatiser... Pour le moment, on glisse la cellule D du dessus pour appliquer la formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =IF(LEFT(C2,4)="====",RIGHT(C2,LEN(C2)-(SEARCH("====",C2,5)+4)),C2)
    Cette formule vérifie si l'alarme copiée en C (cellule cachée) commence par ==== et si tel est le cas, ne colle en D que le texte situé après le second ====. Si aucun ==== n'est détecté, la cellule C est copiée normalement en D

    J'ai mis trop de "bout" de code chopé à droite et à gauche et du coup, je ne sais pas mettre ça en place....

    De plus, question subsidiaire, je sais transformer une saisie en minuscule vers des majuscules mais je n'arrive pas à l'appliquer à la colonne D sans que des messages d'erreur apparaissent....

    Je ne pense pas que ce soit bien compliqué pour une personne maîtrisant le VBA mais perso, je ne sais pas faire :-(

    D'avance merci
    Akhlan

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Si j'ai bien compris :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Left([C2], 4) = "====" Then
        [D2] = UCase(Right([C2], Len([C2]) - (InStr(5, [C2], "====") + 4)))
    Else
        [D2] = UCase([C2])
    End If

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2012
    Messages : 69
    Par défaut
    Bonjour Daniel,

    je ne crois pas que l'on se soit compris ;-)

    on reçoit notre message au format html (exemple)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Incident 37		====blablablablablablablablablabla==== Message 2Message 2Message 2		24/02/13 01:07:50	Serveur_2
    et on colle les valeurs de ce message en cellule A38 de l'onglet "Incidents mensuels". La phrase "====blablablablablablablablablabla==== Message 2Message 2Message 2" se retrouve collée en cellule cachée C38 et on l'a met en forme en faisant glisser la cellule D37 sur la cellule D38 pour appliquer la formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =IF(LEFT(C37,4)="====",RIGHT(C37,LEN(C37)-(SEARCH("====",C37,5)+4)),C37)
    Ce que je veux c'est éviter cette manip en transformant ce code en VB pour faciliter la tâche de mes collègues...

    L'histoire de majuscule était juste une question bonus et s’applique seulement à la colonne F qui me retourne une erreur si la valeur rentrée est en minuscule (mais ça pourra être vu plus tard...)

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 168
    Billets dans le blog
    53
    Par défaut
    Bonjour Akhlan,
    A part que c'est +3 au lieu de +4 le code VBA proposé par Daniel fait exactement ce que tu demandes me semble-t-il.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2012
    Messages : 69
    Par défaut
    presque

    - Il ne faut pas que le texte soit mis en majuscule mais garde la casse de la colonne C
    - Il faudrait que cela s'applique à la ligne où l'on colle le texte et non pas seulement à la ligne 2

    Mais sinon, c'est bon, je pense avoir compris l'idée de base, je tente d'adapter ça à mon code

    Je reviens vous dire si j'y suis arrivé, merci

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 168
    Billets dans le blog
    53
    Par défaut
    Citation Envoyé par Akhlan Voir le message
    presque
    - Il ne faut pas que le texte soit mis en majuscule mais garde la casse de la colonne C
    Si tu veux conserver la casse, il suffit de supprimer la fonction UCase( )
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Transformé une formule Excel en script VBA ?
    Par SFLEY dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 06/01/2007, 11h48
  2. Sécurisation sources/code d'accès appli VBA Excel
    Par Pat_TOTO dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/09/2006, 17h39
  3. [VBA Excel Word]Adapter un code Excel a Word
    Par Baxter67 dans le forum VBA Word
    Réponses: 4
    Dernier message: 08/08/2005, 23h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo