Utilisation d'une variable d'une Macro

  • Initiateur de la discussion Initiateur de la discussion j.pierrot
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

j.pierrot

Guest
Bonsoir à tous,
Je cherche à utiliser chaque caractère des variables de Macro dans
des cellules d'une feuille pour remplir un imprimé bancaire. Chaque caractère est correspond à une cellule.
Pour explication :
Dim NbFact As String
NbFact = WorksheetFunction.Text(WorksheetFunction.CountA(Range("B:B")) - 1, "00000")

Voilà le bout de la macro qui va initialiser les cellules du nombre de factures


Range("X11").Select
ActiveCell.FormulaR1C1 = "=IF(MID(NbFact,1,1)<>""0"",MID(NbFact,1,1),"""")"
Range("Y11").Select
ActiveCell.FormulaR1C1 = "=IF(MID(NbFact,2,1)<>""0"",MID(NbFact,2,1),"""")"
Range("Z11").Select
ActiveCell.FormulaR1C1 = "=IF(MID(NbFact,3,1)<>""0"",MID(NbFact,3,1),"""")"
Range("AA11").Select
ActiveCell.FormulaR1C1 = "=IF(MID(NbFact,4,1)<>""0"",MID(NbFact,4,1),"""")"
Range("AB11").Select
ActiveCell.FormulaR1C1 = "=IF(MID(NbFact,5,1)<>""0"",MID(NbFact,5,1),"""")"



Le problème est que le résultat des formules ci-dessus est #NOM? sur chaque cellule car il ne reconnait pas ma variable. Comment faire ?
car je dois refaire ce travail pour le montant, la date de la remise, le numéro de bordereau ....

Un grand merci pour votre aide
 
Re : Utilisation d'une variable d'une Macro

Bonsoir,
Et si tu éclairé ton propos avec un bout de fichier ?!
De variable, je n'en vois qu'une et je ne vois pas ce que tu veux faire en extrayant les caractères d'un nombre convertis en texte !
A+
kjin
 
Re : Utilisation d'une variable d'une Macro

Bonsoir j.pierrot, kjin,

Normal, on ne peut pas traiter directement les feuilles avec des variables VBA.

Est-ce bien nécessaire d'avoir des formules dans tes cellule ? Si non, tu peux modifier ton code ainsi :

Code:
If(Mid(NbFact,1,1)<>"0" Then
  Range("X11") = Mid(NbFact,1,1) 
  Else
  Range("X11") = ""
End If
If(Mid(NbFact,2,1)<>"0" Then
  Range("Y11") = Mid(NbFact,1,1) 
  Else...

Ou plus élégamment au sein d'une boucle :

Code:
For n = 1 To 5
  If (Mid(NbFact, n, 1)) <> "0" Then
    Cells(11, n + 23) = Mid(NbFact, n, 1)
    Else
    Cells(11, n + 23) = ""
  End If
Next

Espérant t'avoir aidé.

Cordialement.
 
Re : Utilisation d'une variable d'une Macro

Un grand merci Papou-net, je vais reporter tes formules dans ma macro. J'avais lu mon bouquin de VBA mais nulle part je n'ai pas trouvé la réponse et encore moins l'astuce. Je vais pouvoir finir.

Et oui, kjin, j'aurais pu mettre un bout de fichier. Je pensais avoir été suffisamment clair. Pour information, je dois reconstiuer un bordereau de banque et je n'ai trouvé que la solution une cellule égale un caractère pour être totalement conforme avec le bordereau vierge donné par la banque.

Bonne journée à tous. 🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

L
Réponses
9
Affichages
1 K
Réponses
2
Affichages
1 K
G
  • Question Question
Réponses
3
Affichages
2 K
G
Réponses
9
Affichages
1 K
R
Réponses
8
Affichages
2 K
raoulruiz
R
C
Réponses
23
Affichages
4 K
Charles78
C
Retour