Macro qui fonctionne pas

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

Seb

XLDnaute Occasionnel
Bonjours à tous,

Je viens de modifier une macro de excel 2003 pour qu'elle puisse tourner sous excel 97 mais elle ne va pas jusqu'a la fin...

La voici:

Private Sub CommandButton1_Click()
Dim vcaprec As Double
Dim vcanow As Double
Dim vtextbox2 As Variant
Dim vtextcaprec As Variant
Dim vtextcanow As Variant


If Application.Trim(Textcaprec) = "" Then Textcaprec = 0
Me.Textcaprec = Application.Trim(Application.Substitute(Me.Textcaprec, ".", ","))
If Not IsNumeric(Textcaprec) Then
MsgBox "Seb: Tous les montants des CA doivent être des Valeurs Numérique."
Textcaprec.SetFocus
Exit Sub
End If


If Application.Trim(Textcanow) = "" Then Textcanow = 0
Me.Textcanow = Application.Trim(Application.Substitute(Me.Textcanow, ".", ","))
If Not IsNumeric(Textcanow) Then
MsgBox "Seb: Tous les montants des CA doivent être des Valeurs Numérique."
Textcanow.SetFocus
Exit Sub
End If

If Application.Trim(TextBox2) = "" Then TextBox2 = 0
Me.TextBox2 = Application.Trim(Application.Substitute(Me.TextBox2, ".", ","))
If Not IsNumeric(TextBox2) Then
MsgBox "Seb: Tous les montants des CA doivent être des Valeurs Numérique."
TextBox2.SetFocus
Exit Sub
End If

vtextbox2 = Me.TextBox2

vtextcaprec = Me.Textcaprec

vtextcanow = Me.Textcanow

With ActiveCell
.Offset(0, -3).Value = CDbl(vtextcaprec)
.Offset(0, 1).Value = CDbl(vtextcanow)
.Offset(0, 5).Value = CDbl(vtextbox2)


End With
Unload chiffredaffaire
End Sub


les 3 valeurs TextBox2,Textcaprec,Textcanow doivent etre injectée dans 3 cellule spécifique. Il n'y a que la premiere qui apparait, les autres n'apparaissent pas...

Hellllp, je comprend pas pourquoi ça marche pas et toute mes macros qui on la meme structure s'arrete apres avoir injecté la premiere valeur dans le tableau, les autres valeurs sont "oublié"..
sniffff

meci à ceux qui peuvent me filler un coup de main.

seb
 
Re : Macro qui fonctionne pas

bonjour Seb,Pierre-Jean
à essayer
With ActiveCell'comme suit ActiveCell ne bouge pas,mais avec 1 fichier c'est 'mieux nous pouvons tester
.cells(ActiveCell.row,ActiveCell.column).Offset(0, -3).Value = CDbl(vtextcaprec)
.cells(ActiveCell.row,ActiveCell.column).Offset(0, 1).Value = CDbl(vtextcanow)
.cells(ActiveCell.row,ActiveCell.column).Offset(0, 5).Value = CDbl(vtextbox2)
End With
à bientôt
 
Re : Macro qui fonctionne pas

re
edit : salut bebere 🙂
avais pas rafraichi


je te propose de remplacer ce genre de code:

Code:
With ActiveCell
.Offset(0, 28).Value = CDbl(vtextbox1)
.Offset(0, 29).Value = CDbl(vtextbox2)
.Offset(0, 30).Value = CDbl(vtextbox3)
.Offset(0, 31).Value = CDbl(vtextbox4)
.Offset(0, 32).Value = CDbl(vtextbox5)
.Offset(0, 33).Value = CDbl(vtextbox6)
.Offset(0, 34).Value = CDbl(vtextbox7)
End With

par

Code:
Dim lcell As Integer
Dim ccell As Integer
................
 
................
lcell = ActiveCell.Row
ccell = ActiveCell.Column
Cells(lcell, ccell + 28).Value = CDbl(vtextbox1)
Cells(lcell, ccell + 29).Value = CDbl(vtextbox2)
Cells(lcell, ccell + 30).Value = CDbl(vtextbox3)
Cells(lcell, ccell + 31).Value = CDbl(vtextbox4)
Cells(lcell, ccell + 32).Value = CDbl(vtextbox5)
Cells(lcell, ccell + 33).Value = CDbl(vtextbox6)
Cells(lcell, ccell + 34).Value = CDbl(vtextbox7)

Autre essai a faire:

travailler avec toutes les colonnes visibles
 
Dernière édition:
- 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

Discussions similaires

Réponses
10
Affichages
661
Réponses
7
Affichages
448
Réponses
4
Affichages
732
Réponses
5
Affichages
573
  • Question Question
Microsoft 365 Problème de date
Réponses
5
Affichages
358
Retour