VBA Selection problématique 2

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

A

AGLAS

Guest
Bonjour,

Quelqu'un pourrait-il m'expliquer pourquoi, lorsque le code ci-dessous est exécuté, il plante systématiquement (Erreur 1004) sur la dernière ligne ? Parce que ça fait un paquet de temps que je cherche sans succès. Merci de m'aider à sortir de ce cul de sac !

Code:
 [size=4]
    Dim a As Integer
    
    NBL = Selection.Rows.Areas.Count
    'Si plusieurs lignes dans Sélection
    If NBL > 1 Then
    
        Dim formule As String

        'entête de formule (appel à une fonction perso)
        formule = '=PRECEDE(' & Cells(Selection.Areas(1).Row, 7).Address
        
        'construction de la suite de la formule 
        For i = 2 To (NBL - 1)
            formule = formule & ';' & Cells(Selection.Areas(i).Row, 7).Address
        Next i
        
        'fin de formule
         formule = formule & ')'
        
       'copie de la formule constituée
        Worksheets('Plan').Cells(Selection.Areas(NBL).Row, 8).Formula = formule
    End if
 
[/size]

Pour info, je cherche juste à copier une formule dans une cellule, sachant que la formule en question est fonction des lignes sélectionnées (au moins 2), le code est exécuté par clic sur sur un bouton.
 
Bonjour,

Regarde bien la dernière ligne, elle comporte une erreur de transcription:

Dim a As Integer



NBL = Selection.Rows.Areas.Count
'Si plusieurs lignes dans Sélection
If NBL > 1 Then

Dim formule As String

'entête de formule (appel à une fonction perso)
formule = '=PRECEDE(' & Cells(Selection.Areas(1).Row, 7).Address & nbsp 'construction de la suite de la formule
For i = 2 To (NBL - 1)
formule = formule & ';' & Cells(Selection.Areas(i).Row, 7).Address
Next i

'fin de formule
formule = formule & ')'

'copie de la formule constituée
Worksheets('Plan').Cells(Selection.Areas(NBL).Row, 8).Formula = formule
End If


En effet, il y a un espace entre le a et le s du mot AERAS

Bon dimanche
 
Merci pour ta réponse Humansoft, mais l'espace en question ne figure pas dans le code, il s'agit d'un copier-coller malheureux, le pb vient d'ailleurs ; j'ai déjà eu à manipuler des formules dans des cellule via vba et leur construction était bien plus complexe, mais là je pige pas. J'ai réalisé un exemple assez succint qui fixe le pb, je l'ajoute en pièce jointe. Merci à toute suggestion.

Message édité par: AGLAS, à: 21/08/2005 19:22

Message édité par: AGLAS, à: 21/08/2005 19:24
 
Il y a une petite erreur dans la zone commentaire du classeur précédent, correction dans le fichier ci-joint
[file name=Simule_20050821193541.zip size=32491]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Simule_20050821193541.zip[/file]
 

Pièces jointes

bonsoir Aglas , @Christophe@ et Vincent

je ne sais pas si cela pourra t'aider mais tu peux faire un essai en remplaçant le point virgule dans cette ligne

Formule = Formule & ';' & Cells(Selection.Areas(i).Row, 7).Address

par une virgule

Formule = Formule & ',' & Cells(Selection.Areas(i).Row, 7).Address


bonne soiree
MichelXld
 
CA MAAAAARCHE ! Merci Michel, c'est trop fort ; imagine toi que j'ai passé une bonne partie de la nuit et de la journée à tester dans tous les sens alors que le truc était là, merci encore, je me sens d'un coup plus léger. J'adresse également toute ma reconnaissance à ceux qui sont à l'origine de ce forum et qui le font vivre. Bonneu nuité les enfants.

Michel... t'es trop fort.
 
- 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
5
Affichages
909
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
0
Affichages
623
Retour