VBA : Integrerer des variable en coordonée "cells" et "range"
EXCEL-lent
Messages postés
6
Statut
Membre
-
ccm81 Messages postés 11033 Statut Membre -
ccm81 Messages postés 11033 Statut Membre -
Bonsoir cher communauté !
Mon souhait est un système qui permet de retrouver les valeurs supérieurs à Zéro dans le tableau de droite pour les envoyer dans celui de gauche au même emplacement.
(Au départ, au lieu du Zéro, je mettais "", mais, pour le système =si(cellule>0 il me mettais vrai ... )
D'origine, c'était pour créer un résolveur de Sudoku auquel les chiffres trouvés devaient être envoyé afin de trouver les suivants.
Je pense être très proche de la fin et il me reste une dernière étape à résoudre, c'est de faire fonctionner cela :
Private Sub CommandButton1_Click()
Dim NumLigne As Integer, NumColonne As Integer, Chiffre As Integer
Cells(32, 14) = NumLigne
NumColonne = 32
Do While Cells(14, NumColonne) = "KO"
NumColonne = NumColonne + 1
Loop
Cells(NumLigne, NumColonne).Value = Chiffre
Range(Cells(NumLigne, NumColonne - 30)) = Chiffre
End Sub
Ce que le VBA refuse, c'est ça :
Cells(NumLigne, NumColonne).Value = Chiffre
Merci d'avance pour vos réponses!
A voir également:
- VBA : Integrerer des variable en coordonée "cells" et "range"
- Excel compter cellule couleur sans vba - Guide
- Incompatibilité de type vba ✓ - Forum VB / VBA
- Vba ouvrir un fichier excel avec chemin ✓ - Forum VB / VBA
- Erreur 13 incompatibilité de type VBA excel ✓ - Forum Excel
- Vba range avec variable ✓ - Forum VB / VBA
7 réponses
Bonjour
un pb (au moins) avec NumLigne
NumLigne n'est pas initialisé donc vaut 0 et cells(0,xx) vba n'aime pas
Cdlmnt
un pb (au moins) avec NumLigne
NumLigne n'est pas initialisé donc vaut 0 et cells(0,xx) vba n'aime pas
Cdlmnt
Bonsoir,
Merci de votre venu !
Mon souhait au sujet de NumLigne est qu'il est la valeur de Cells(32,14).
Cela n'est t'il donc pas possible ? :(
Selon vous, comment procéderiez vous ?
Cordialement
Merci de votre venu !
Mon souhait au sujet de NumLigne est qu'il est la valeur de Cells(32,14).
Cela n'est t'il donc pas possible ? :(
Selon vous, comment procéderiez vous ?
Cordialement
oui, si c'est Chiffre qui prend la valeur de Cells(NumLigne, NumColonne)
donc
Chiffre = Cells(NumLigne, NumColonne)
Cdlmnt
donc
Chiffre = Cells(NumLigne, NumColonne)
Cdlmnt
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ça ne fonctionne pas :(
Mais de manière général, dans d'autres cas, c'est le fait de mettre des variables dans les coordonnées du " Cells " , d'où le titre de la publication :p
Cordialement
Mais de manière général, dans d'autres cas, c'est le fait de mettre des variables dans les coordonnées du " Cells " , d'où le titre de la publication :p
Cordialement
Mais de manière général, dans d'autres cas, c'est le fait de mettre des variables dans les coordonnées du " Cells " , d'où le titre de la publication
Pas du tout, tu peux mettre des variables aussi bien dans
Cells(ligne,colonne) ligne et colonne étant des entiers
que dans
Range(colonne & ligne) colonne est une lettre et ligne un entier
Si
NumLigne prend la valeur de Cells(32,14)
et
Chiffre la valeur de Cells(NumLigne, NumColonne).Value
Ton code devrait être
Si ça ne donne pas le résultat souhaité c'est que le pb est ailleurs
Cdlmnt
Pas du tout, tu peux mettre des variables aussi bien dans
Cells(ligne,colonne) ligne et colonne étant des entiers
que dans
Range(colonne & ligne) colonne est une lettre et ligne un entier
Si
NumLigne prend la valeur de Cells(32,14)
et
Chiffre la valeur de Cells(NumLigne, NumColonne).Value
Ton code devrait être
Private Sub CommandButton1_Click() Dim NumLigne As Integer, NumColonne As Integer, Chiffre As Integer NumLigne = Cells(32, 14) NumColonne = 32 Do While Cells(14, NumColonne) = "KO" NumColonne = NumColonne + 1 Loop Chiffre = Cells(NumLigne, NumColonne).Value Range(Cells(NumLigne, NumColonne - 30)) = Chiffre End Sub
Si ça ne donne pas le résultat souhaité c'est que le pb est ailleurs
Cdlmnt