VBA : Integrerer des variable en coordonée "cells" et "range"
EXCEL-lent
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
ccm81 Messages postés 10909 Date d'inscription Statut Membre Dernière intervention -
ccm81 Messages postés 10909 Date d'inscription Statut Membre Dernière intervention -
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
- Erreur 13 incompatibilité de type VBA excel ✓ - Forum Excel
- Mkdir vba ✓ - Forum VB / VBA
- Dépassement de capacité vba ✓ - Forum Excel
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