VBA problème syntaxe

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

Asperule

Guest
Bonsoir à toutes et à tous!

La situation est la suivante : Nous voudrions transférer une donnée contenue dans une case d'une feuille Excel nommée CalculHT, vers une case d'une autre feuille nommée Commande et sur laquelle est basée le code.
La macro consiste à transférer un truc en D6 sous le mot désignation (donc en B10) et qu'au prochain appel de la macro, la nouvelle valeur du truc à transférer vienne se mettre une case encore en dessous de désignation(donc en B11) et ainsi de suite.
Notre ébauche de code est en dessous

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
'
Dim Reponse As Integer
Dim Bidule As String
'
With WorksheetFunction
Bidule = .Match('Désignation', Sheets('Commande').Rows(9), 0)
End With
Reponse = MsgBox('Confirmes-tu le transfert de données?', vbYesNo)
'
If Reponse = vbNo Then
MsgBox ' Tant pis'
End If
If Ligne = 30 Then
MsgBox ' Tableau Plein'
End If
'
If Reponse = vbYes Then
Ligne = Sheets('Commande').Cells(29, Bidule).End(xlUp).Row + 1
With Sheets('Commande')
.Cells(Ligne, B) = Range('D6')
End With
End If
End Sub

Lors du débogage, une erreur survient à l'instruction : 'Ligne = Sheets('Commande').Cells(29, Bidule).End(xlUp).Row + 1'

On vous joint le fichier Excel.
Merci beaucoup d'avance du temps accordé

Aspérule. [file name=fichier_excel.zip size=9000]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/fichier_excel.zip[/file]
 

Pièces jointes

Bonsoir le Forum, Asperule,

Ci joint le code corrigé.

Sauf erreur de ma part (en faites je ne suis pas très sûr ! lol) tu ne peux utiliser le END(xlup) qu'avec range et pas avec Cell.

Ensuite dans la ligne du dessous tu avais mis .cells(ligne,B) Erreur !!! C'est ligne,2 lol.

une etourderie je pense car tu l'avais bien fait au dessus !

@+

Creepy [file name=fichier_excel_20051219230055.zip size=10267]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/fichier_excel_20051219230055.zip[/file]
 

Pièces jointes

Bonsoir Asperule,

'Bidule' est défini comme une chaine de caractère (as string) donc forcément, Cells(29,Bidule) ne fonctionne pas.

Défini le comme 'rien' : Dim Bidule.
Il sera par défaut un 'Variant', soit texte, soit numérique. Comme la première valeur qu'il rencontre est du numérique, la ligne incriminée passera toute seule.

Deuxième chose, un peu plus bas, corrige ceci :
Code:
       With Sheets('Commande')
            .Cells(Ligne, B) = Range('D6')
        End With

Cells (Ligne, B). Tourne encore à c't'heure ci la ligne B. Ouarf !
Pardon, elle était facile.
Je suppose qu'il s'agit de :
Code:
       With Sheets('Commande')
            .Cells(Ligne, Bidule) = Sheets('Calcul HT').Range('D6')
        End With

Bon courage

Abel.

Edition :
Oups !
Pardon Creepy. Pas frais.

Message édité par: Abel, à: 19/12/2005 23:08
 
Bonjour à Toute et à tous.

Merci à tous pour votre participation mais ça na pas l'air de marcher chez moi. 😱 C'est pourquoi je reformule ma question, avec un nouveau fichier joint, au début du Forum.

En vour remerciant d'avance pour tout l'interet que vous porter sur le travail d'Excel.

Salutation
Asperule.
 
- 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
15
Affichages
782
Réponses
4
Affichages
280
Réponses
5
Affichages
909
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
452
Réponses
5
Affichages
573
Réponses
5
Affichages
418
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Retour