Souci avec fonction IF

Bonjour à tous...

Mon époux vient de m'offrir la version 2013 d'excel afin que je puisse l'aider avec ses fichier ... Hélas je suis pas une lumière en VBA et débutante en plus... Donc je commence à serieusement là...

Je pourrait résoudre le soucis pour la colonne "Famille" par une formule SI IMBRIQUEE directement sur la page sauf que j'ai 50 000 lignes à traiter et que je préfère autant tout faire de la même façon... afin d'éviter les sempiternels soucis d'erreur de recopie.... car pour les autres colonnes à traiter j'ai de 50 à 500 possibilités de réponses... Par exemple pour la colonne "nature", j'ai 50 réponses possibles...

Donc, voilà pourquoi VBA... Et Horreur et ... Quand j'ai plusieurs conditions IF que j'utilise ou non ELSELF j'ai systématiquement le même message d'erreur à partir de la seconde condition, (voir fichier joint)... Bon, je débute, il y a aussi peut-être beaucoup d'autres erreurs... je nage la brasse coulée là...

Alors si vous pouvez m'aider MERCI BEAUCOUP......


j'ai oublié le fichier... désolée...

soucis if vba 2013

Bonjour et bienvenue

Si tu places après le Then une instruction tu n'as pas besoin du End If

Regardes l'aide ( Places le curseur sur l'instruction If et appuies sur F1)

Une instruction If d'un bloc doit être la première instruction d'une ligne. Les éléments Else, ElseIf et End If de l'instruction peuvent être uniquement précédés d'un numéro de ligne ou d'une étiquette de ligne. Le bloc If doit se terminer par une instruction End If.

Pour déterminer si une instruction If est un bloc If, examinez ce qui suit le mot clé Then. S'il ne s'agit pas d'un commentaire, l'instruction est traitée comme une instruction If à une seule ligne.

Merci Banzai64...

Puis-je abuser ??? ...

j'ai aussi un message d'erreur avec le THEN quand je souhaite mettre la suite sur la ligne inférieur (histoire de ne pas m'y perdre)...

En fait quand j'ai voulu utiliser ELSELF cela se passait dès la première ligne commençant par ELSELF... et vu la quantité d'info à traiter, il me semble ( je peux me tromper étant débutante!) qu'il serait mieux que la routine s'achève juste après la condition qui est vraie plutôt que d'aller jusqu'à la dernière...

Aurais tu un petit conseil là aussi...

Merci beaucoup...

Bonjour,

Ne penses-tu pas que l'envoi d'un fichier (anonymisé) avec des explications, pourrait nous permettre de t'aider?

Cdlt.

Bonsoir

Comme indiqué par Jean-Eric un fichier nous aiderait à t'aider

Avec ElseIf toutes les conditions avant la condition vraie seraient testées mais pas les suivantes donc

lillysg a écrit :

la routine s'achève juste après la condition qui est vraie

2macro2-sylvie.xlsm (21.42 Ko)

Bonjour Banzaï & Jean Eric

En premier merci pour votre aide ...

Je vous envoie un extrait du fichier... et vous allez vite comprendre pourquoi je souhaite utiliser VBA....

Il y a 15 jours, mon époux était bien ennuyé car il doit donné des chiffres le 25 de ce mois... Or le fichier de base dans lequel sont les données est truffé d'erreurs en tout genre...

Forte de mes connaissances antédiluviennes d'Excel j'ai affirmé haut et fort qu'Excel est la seule solution possible...

Ben voilà, il m'a cru et aujourd'hui il faut le prouver sinon gros risque de bugues dans le couple... mais surtout à son travail

J'ai remonté le fichier de zéro avec les données fiables la semaine passée... mais vous avez là l'exemple des 2 colonnes les plus simples.... cependant toutes les colonnes à compléter sont sur les mêmes types de schémas... Or, si là je n'ai que 50 références différentes possibles... certaines colonnes en ont 500....

Du coup, fichier beaucoup trop lourds et recours comme avant à des fichier dans d'autres classeurs externes... Pas le top, mais ça fonctionne quand même les cascades... avec les risques bien sur....

Alors je suis certaine qu'avec les macroVBA, il est possible de faire nettement mieux...

Mais je débute et même si j'ai le livre pour les nuls et les cours du site... je suis loin d'être douée.... et les messages d'erreurs finissent par me faire nager la brasse coulée....

Pour éviter trop de "moulinage inutile" j'ai pensé à utiliser Do While + If Elself + des Constantes (ça je suis pas sure)...

Il faut croire qu'il n'y a que l'idée de bonne.... mais pas la façon de l'appliquer...

Alors si vous pouvez m'aider.... vous faites beaucoup plus que me retirer une épine du pied....

d'avance merci....

PS : j'ai retiré la macro, vu que c'était pas correct.... j'ai laissé les anciennes formules excel en texte....

Bonjour Lilly,

Avant parler macros et VBA, on va tenter de comprendre ce que tu veux faire

J'ai crée un tableau pour les codes.

J'ai utilisé 2 formules en colonnes C et D pour récupérer :

1 - le libellé famille exploitation (soit famille, pour résumer)

2 - le libellé nature de l'exploitation (soit nature)

Mais je ne comprends les formules en colonnes AAA-AAF !?

A te relire.

Cdlt

8macro2-sylvie.xlsm (19.39 Ko)

Bonjour Jean Eric

Je vais mettre "problème résolu" car c'est le cas grâce à toi....

Je savais bien qu'Excel peut tout faire...

Bon blague à part... je vais faire ainsi... je connaissais pas cette formule.... faut que je me désyntoxe de "si" "et" "ou".... en approfondissant les formules excel avant de penser macro ou VBA.... tu as bien raison

Pour les colonnes AAA, elles n'étaient que des colonnes relais vu que même 2013 n'accepte pas 50 formules si imbriquées... donc plus besoin là....

Et dire que je venais enfin de créer une macro qui fonctionne pour au moins la première ligne de la colonne C avec Select Case...

Bon c'était qu'un début... j'étais contente après 5 jours à passer 15h par jour sur cet ordi.... enfin un peu de résultat...

Je te souhaite une belle journée, et, encore merci.....

Amitiés

Lilly

Re,

Si tu as encore besoin d'aide, n'hésite pas à faire appel au forum.

Cdlt.

Jean-Eric

RE

Avec plaisir... surtout que là j'ai fini le fichier général de base.... ... grâce à ton aide....

Donc j'attaque le gros morceau... (après pause café parce que depuis 4h du mat ça commence à faire long...)

En théorie je devrais pas trop avoir perdu la main au niveau des coûts moyens et autres mêmes réjouissances... mais je pense qu'il serait mieux avant d'attaquer de prendre le temps de bien relire toutes les fonctions possibles avec 2013... et si je n'arrive pas à m'en sortir je ferai de nouveau appel

Bonne continuation et encore merci

Rechercher des sujets similaires à "souci fonction"