Ecrire dans une cellule

  • Initiateur de la discussion Initiateur de la discussion Lucy
  • 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 !

L

Lucy

Guest
Bonjour,

J'ai un problème pour écrire dans une cellule. Rien de bien complexe normallement, mais dans une fonction sa marche, et dans l'autre, sa marche pas ...

La fonction qui marche :
Code:
Function Analyse(Athena As Server, DosUti As Workbook, i As Integer) As Integer
'Fonnction qui analyse un server. Elle prend en paramètre le server et retour un entier

      
    i = i + 1
    
      
''On Teste le noyau du server
    If Athena.Noyau = "Oracle" Then
        'On est dans un server Oracle
        Analyse = 1
    ElseIf Athena.Noyau = "SQL Server" Then
        'On est dans un server SQL Server
        Analyse = 2
        
    Else 'Il y a une erreur dans les exctract
        DosUti.Sheets("Liste d'erreurs").Cells(i, 1).Activate 
    ActiveCell.FormulaR1C1 = "Le noyau (" & Athena.Noyau & ") du serveur " & Athena.Nom & " n'est pas reconnu"
'ces deux dernière ligne marche parfaitement
        i = i + 1

et celle qui marche pas :

Code:
Public Function Remplissage(Nb As Integer, Occurence() As Server, Objet As Workbook) As Integer
Dim i As Integer, Inte As Integer

For i = 0 To (Nb - 1)
        Select Case Analyse(Occurence(i), Objet, Inte)
            Case 1 
                Objet.Sheets("toto").Cells(4, 3).Activate
                ActiveCell.FormulaR1C1 = Occurence(i).Nom
    
            Case 2 
                Objet.Sheets("titi").Cells(5, 3).FormulaR1C1 = Occurence(i).Nom


Merci de m'aider, et si il vous manque des infos, n'hésité pas à me les demander (j'espère n'avoir rien oublié ^^")
 
Re : Ecrire dans une cellule

bonjour Lucy

Pas vraiment tout compris mais
une fonction est censée renvoyer une valeur et non ecrire dans une cellule
donc au choix:
1) modifier la fonction en sub et ecrire
call remplissage
2) finir la function avec
remplissage=...........
et ecrire range("..")=remplissage(param1,param2,...)
 
Re : Ecrire dans une cellule

Merci pierrejean,

Les deux solutions que tu me propose ne fonctionne pas.
Le problème ne vient (aparemment) pas de la fonction en elle même mais seulement de la ligne
Code:
                Objet.Sheets("toto").Cells(4, 3).Activate
                ActiveCell.FormulaR1C1 = Occurence(i).Nom

A vrai dire, au départ, ce n'était pas un fonction et je l'écrivait directement dans un "Private Sub Workbook_Open()" (par la suite, j'ai appris que modifier un classeur autre que "ThisWorkbook" devait se faire de préférence dans un module, ce pourquoi j'ai fait une fonction)
D'ailleurs, les deux fonctions se trouve dans le même module.
 
Re : Ecrire dans une cellule

Re

Occurence est d'un type que j'ai créé moi même, donc Occurence(i).Nom est tout à fait normale 😉

Merci de ton aide pierrejean, mais j'ai finalement trouver la solution toute seule, et ce n'est pourtant pas bien compliqué : il me suffisait d'activer la feuille avent d'activer la cellule :

Code:
Objet.Sheet(toto).Activate
Objet.ActiveSheet.Cells(4, 3).Activate
ActiveCell.FormulaR1C1 = Occurence(i).Nom

Le fait qu'au premier coup ça marchait c'est que "Liste d'erreurs" était la dernière feuille créé, donc automatiquement activé.

Encore merci de t'avoir donné du mal pour m'aider ^^
 
- 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

Réponses
3
Affichages
866
  • Question Question
Microsoft 365 Cpier/coller en VBA
Réponses
7
Affichages
800
M
Réponses
4
Affichages
960
mimich_88
M
Réponses
5
Affichages
925
LeSaintKebab
L
Réponses
0
Affichages
741
M
Réponses
6
Affichages
1 K
mimich_88
M
Réponses
8
Affichages
1 K
Retour