J'ai une formule a modifier qui, une fois transformée via"? ActiveCell.Formula " me met un code erreur a la mise en place:
formule Excel : =MAJUSCULE((SI(ESTNUM(TROUVE("-";C4));STXT(C4;1;1)&STXT(C4;TROUVE("-";C4)+1;1);STXT(C4;1;2))&STXT(D4;1;1))&"-"&DROITE([@ID];3)&"-"&TEXTE(E4;"jjmmaaa-hhmm"))
code vba:
Private Sub LabelID_Fact_Click()
Feuil3.Select
Range("I2:I").Select
ActiveCell.FormulaR1C1 = UPPER((IF(ISNUMBER(FIND("-",C2:C)),MID(C2:C,1,1)&MID(C2:C,FIND("-",C2:C)+1,1),MID(C2:C,1,2))&MID(D2,1,1))&"-"&RIGHT([@ID],3)&"-"&TEXT(E2:E,"jjmmaaa-hhmm"))
End Sub
Ici le "IF" me met un code erreur "erreur de compilation" et "attendu expression"
Bon pour conclure
Eric a voulu transposer une formule en VBA !!! aie ! pas évident
Donc il ne savait pas que dans ce cas ce n'est plus de l'adressage A1 , C2 ...etc mais en RC ( Row Col)
et que donc dans ce cas Vba agit par "offset" de la cellule en cours ; ex : si formule en D3 qui fait appel à C2
le Vba avec FormulaR1C1 donnera ="R[-1]C[-1] ....." donc très peu pour moi
Mieux vaut abandonner la formule et partir sur une résolution VBA totale
Info : Si fichier utilisé par plusieurs, attention aux formules si cel. non protégées !! un zig a vite fait d'écrire dedans donc d'effacer et en + Sauvegarde !!! le VBA évite tout ça
Bonjour
Ne peux tu pas mettre un bout du fichier ? (la partie concernée)
Sinon expliquer ce que tu veux faire et alors voir pour utiliser une autre méthode en vba pour arriver au même résultat
Déjà, il te faut :
- doubler les guillemets,
- ne pas oublier le = au début de la formule,
- encadrer la formule par des guillemets (simples, cette fois).
Déjà, il te faut :
- doubler les guillemets,
- ne pas oublier le = au début de la formule,
- encadrer la formule par des guillemets (simples, cette fois).
voici le fichier en question
dans la "base rdv" le "num fact" doit s'afficher de façon automatique via le formulaire.
A partir de la un autre formulaire sera creer pour entrer les infos necessaires.
L'idee sera aussi de lister plus tard le nombre de rdv avec les num fact avec lien par client ou d'ouvrir un dossier specifique evec les infos et les factures.
ok, j'enlève donc la sélection de la cellule "I"
mais pourquoi le choix de la colonne D en sélectionnant D2 a t il moins de sens que les sélections C2:C ?
c'est une formule qui marche traduite d'Excell par "? ActiveCell.Formula" en vba ...
suis pas très doué en vba, suis plutôt bricoleur lol, j'ai donc besoin de temps en temps qu'on m'explique un peu en excusant mon manque de savoir
Merci
Pour moi ça n'a doublement aucun sens, car d'une part je ne sais pas ce que représente 'D2' et d'autre part je ne sais pas non plus ce que représente (D) mais toi tu dois savoir, je suppose.
{edit][ Au temps pour moi pour "i2:i", la syntaxe doit en réalité être correcte.
Je crois que j'ai compris : c'est une syntaxe que je ne connais pas mais qui, je suppose, doit en fait vouloir dire "toute la colonne i à partir de la deuxième ligne".
Bref, tu l'as compris : j'y pige pas plus que toit et donc ne saurais t'aider. Désolé.
PS : je vois qu'il n'y a plus les apostrophe autour de D2. C'est déjà mieux.
[/edit]
Pour moi ça n'a doublement aucun sens, car d'une part je ne sais pas ce que représente 'D2' et d'autre part je ne sais pas non plus ce que représente (D) mais toi tu dois savoir, je suppose.
le fichier est téléchargeable plus haut : D2 est la 2eme ligne de la colonne D sur la feuil3.
l'objectif est de créer un code facture a partir des 2 premières lettres du nom, de la première lettre du prénom, du mois de naissance et des 3 derniers chiffres de l'année de naissance et des 3 dernier chiffres du code client ... un peu plus d'humilité pour le débutant que je suis serait un peu plus agréable svp
J'ai dit que bien que j'ai essayé de t'aider, je n'y pigeais rien de plus que toi et que par conséquence je ne saurais te donner la bonne syntaxe et que j'en étais désolé.