Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

VBA Calcul direct.

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

G

gopo

Guest
Bonjour,

Je vous demande de l'aide ( Encore 😱 ).

Voila mon programme en VBA, copie le .text d'une cellule et la colle dans mon classeur excel, puis en mon tableau de mon classeur de destination, j'y est mis dans une cellule une formule =(AM21*G9)/G5 ( AM21 est la cellule ou ce colle ma celulle copié grâve a mon programme ).

Est il possible d'effectuer directement le calcul sans faire l'étape de copié, collé, puis effectuer la formule grace a cette valeur, peut on directement faire le calcul grace a la valeur ciblé =(valeur_tableau_source*G9)/G5.

Si je ne suis pas claire, merci de me le dire, je m'expliquerai plus clairement enfin j'essairais !

Bonne fin d'après midi !
 
Re : VBA Calcul direct.

Bonsoir gopo

oui tu peux faire des calculs par vba, comme ceci par exemple :

te renvoie le résultat dans la variable x
Code:
Dim x
x = (valeur_tableau_source * Range("G9").Value) / Range("G5").Value

A noter noms des classeurs et feuilles à préciser si calcul en dehors de la feuille active et du classeur actif.

bonne soirée
@+
 
Re : VBA Calcul direct.

Re,

Ya une erreur d'execution " Incompatibilité de Type ", sur la ligne de code x = ( ... * .. ) / ..

Code:
Private Sub CommandButton13_Click()
Dim Variable1 As String
Dim Variable2 As String
Dim Variable3 As String
Dim Variable4 As String
Dim Variable5 As String
Dim Variable6 As String
Dim Variable7 As String
Dim Variable8 As String
Dim x As String
Dim i As Integer
Dim j As Integer
Dim h As Integer

        i = 9
        For i = 9 To 846 Step 27
          If Cells(i, 2) = "753220 - PARIS KELLER ACP" Then
                For j = 5 To 26 Step 1
                    
                       If Cells(i + 1, j) = "Janvier" Then
                               With ThisWorkbook.Sheets("Détail ACP")
                     
                                    Variable1 = .Cells(i + 8, j).Value
                                    Variable2 = .Cells(i + 12, j).Text
                                    Variable3 = .Cells(i + 11, j).Text
                                    Variable4 = .Cells(i + 3, j).Text
                                    Variable5 = .Cells(i + 14, j).Text
                                    Variable6 = .Cells(i + 15, j).Text
                                    Variable7 = .Cells(i + 5, j).Text
                                     Variable8 = .Cells(i + 6, j).Text
                                End With
                        Set Dest = Workbooks.Open(ActiveWorkbook.Path & "\TBM ACP.xls")
                         With Dest.Sheets("Paris Keller")
                              .Cells(9, 7).Value = Variable1
                              
                   x = (Variable2 * .Cells(9, 7).Value) / .Cells(5, 7).Value
                   .Cells(13, 7).Value = x
                              .Cells(30, 7).Value = Variable3
                              .Cells(40, 7).Value = Variable4
                              .Cells(42, 7).Value = Variable5
                              .Cells(43, 7).Value = Variable6
                              .Cells(45, 7).Value = Variable7
                              .Cells(47, 7).Value = Variable8
                         End With
                 Exit For
          End If
        Next
      Exit For
    End If
  Next
  
 
End Sub

même si je fait
Code:
x = (Variable2 * .Cells(9, 7).text) / .Cells(5, 7).text
                   .Cells(13, 7).Value = x
 
Re : VBA Calcul direct.

Bonjour Gopo

tu déclares tes variables en "string" donc du texte, tu ne peux faire de calculs avec ce type de variable, sauf à convertir la donnée. Utilises plutôt un type "integer", "double" ou "single" fonction des données. F1 sur le type de variable t'en dira plus.

bonne journée
@+
 
Re : VBA Calcul direct.

Re,

Incompatibilité de type avec Single, Double, Integer, seulement String marche.

Je copie un nombre.

ps : quand je met Integer en Type pour mes variables ca me met : dépassement des capacités.

Amicalement.
 
Dernière modification par un modérateur:
Re : VBA Calcul direct.

Re

regarde ci-dessous, pour les plages de valeur acceptées en fonction des types de données :

cf aide vba

sinon mets peut être un petit fichier en pièce jointe, plus facile pour t'aider.

@+
 
Re : VBA Calcul direct.

Compliqué pour la piece jointe, ce sont des fichiers personnels, désolé.

Sinon le chiffre que je copie ( d'ou le problème ) est un pourcentage alors qu'elle est le type pour un pourcentage 😕 ?
 
Re : VBA Calcul direct.

Re pierrot,

Ca ne veut pas marcher, je t'envoie 2 piece jointe avec une macro dans le classeur source.xls, ca ressemble à ce que je souhaiterai.
 

Pièces jointes

Re : VBA Calcul direct.

Re

modifies ton code comme suit :

Code:
Private Sub CommandButton1_Click()
Dim Variable2 As Single, Dest As Workbook, x As Single
With ThisWorkbook.Sheets("Feuil1")
    Variable2 = .Cells(1, 1).Value
End With
Set Dest = Workbooks.Open(ActiveWorkbook.Path & "\destination.xls")
With Dest.Sheets("Feuil1")
    x = (Variable2 * .Cells(1, 2).Value) / .Cells(2, 2).Value
    .Cells(3, 2).Value = x
End With
End Sub

@+
 
- 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
670
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
906
J
  • Question Question
Réponses
5
Affichages
963
J
M
Réponses
4
Affichages
2 K
mathieu42400
M
V
Réponses
0
Affichages
1 K
VBAProject
V
N
Réponses
17
Affichages
3 K
ninajams
N
Réponses
2
Affichages
705
K
Réponses
5
Affichages
23 K
K
P
Réponses
5
Affichages
12 K
PlugNplay
P
M
Réponses
5
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…