Famille de feuilles de calcul Microsoft avec des outils pour l’analyse, le graphique et la communication des données.
Bonjour,
Mets :
Set Macellule = Cells(lignetarget, colonnetarget)
Macellule.Value = Index
Daniel
Ce navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
Bonjour à tous,
J'essaie d'écrire une ligne sur trois à partir de la cellule target. Mais si j'arrive bien à écrire dans la première ligne, je n'arrive pas à incrémenter les lignes suivantes. le code actuel est du genre :
Si je mets :
Set macellule = target
Macellule.value = index
Ça marche.
Si je mets :
Dim lignetarget As Integer
Dim colonnetarget As Integer
lignetarget = target.Row
colonnetarget = target.Column
Set macellule = Range(colonnetarget & lignetarget)
Macellule.value = index
Ça ne marche pas
Et il ne semble pas possible d'incrémenter target.row
Avez-vous une idée ?
Merci d'avance
Cordialement, Jean-Pierre
Famille de feuilles de calcul Microsoft avec des outils pour l’analyse, le graphique et la communication des données.
Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.
Réponse acceptée par l’auteur de la question
Bonjour,
Mets :
Set Macellule = Cells(lignetarget, colonnetarget)
Macellule.Value = Index
Daniel
Merci à tous
mieux que tchatgpt !!!
Encore merci
Cordialement Jean-Pierre
Bonjour,
target.Column renvoie une valeur numérique de type Long.
Exemple :
Avec Target en B3 => Line 3 / colonne 2 donc colonnetarget = 2 et lignetarget = 3
Range(colonnetarget & lignetarget) nous donne Range ("23") quine correspond à rien et non Range("B3")
D'où l'erreur et la proposition de Daniel Chr(colonnetarget + 64) pour convertir le 2 de mon exemple en B afin d'avoir Range ("B3")
Avec des données colonne et ligne, tu devrais plutôt utiliser Cells et écrire ta ligne :
Set Macellule = Cells(colonnetarget & "," & lignetarget)
Ou passer par une valeur intermédiaire et transformer la valeur en chaîne :
colonnetargetS = Chr(colonnetarget + 64)
Set Macellule = Range(colonnetargetS & lignetarget)