Changement de colonne Excel

Résolu
Pamath1 Messages postés 3 Date d'inscription samedi 2 avril 2016 Statut Membre Dernière intervention 2 avril 2016 - 2 avril 2016 à 03:29
Pamath1 Messages postés 3 Date d'inscription samedi 2 avril 2016 Statut Membre Dernière intervention 2 avril 2016 - 2 avril 2016 à 10:52
Bonjour,

Pourriez-vous svp m'aider concernant un problème sur excel que VBA pourrait résoudre. J'ai des données qui sont générées automatiquement dans une colonne d'excel et je voudrais savoir comment demander sous VBA (ou directement sur Excel) à excel de changer de colonne une fois que la colonne A ait atteint ses limites pour passer par exemple à la colonne c.

Merci d'avance.

Pamath1

4 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 2/04/2016 à 08:10
Bonjour,
Je vais te donner les indications essentielles, mais te laisser t'y mettre, s'agissant d'une "difficulté" dont la solution est à la portée du développeur (et tu viens sur ce site en qualité de développeur) le plus débutant de chez débutant en VBA :
- une variable numérique "globale" pour définir la colonne en cours, que tu incrémentes de une unité lorsque la dernière ligne de la colonne en cours contient quelque chose
Et si tu veux sauter n colonnes au lieu d'une seule, tu incrémentes toto de n et non de 1
soit toto cette variable
- une variable numérique globale titi initialisée à 1, qui est le rang dans la colonne (et donc la ligne) que tu incrémentes de 1 unité à chaque donnée importée et que tu remets à 1 lorsque tu as rempli la dernière ligne d'une colonne
- la dernière ligne de la colonne toto est remplie si
Cells(Rows.Count, toto).value <> ""
(qui revient à dire : si titi = rows.count, donc).
et tu remplis toujours Cells(titi, toto)
Vraiment trop simple ... et en aucune manière différent de ce que tu ferais dans la vie courante, hors informatique (avec par exemple des étagères en rayonnage !)

Allez, va ...
Regarde ce que ferait ceci, par exemple :
Private toto As Integer, titi As Long
Private Sub CommandButton3_Click()
limite = 10
For i = 1 To 100
If toto = 0 Then toto = 1
If titi = 0 Then titi = 1
Cells(titi, toto) = "allons !"
titi = titi + 1
If titi > limite Then toto = toto + 1: titi = 1
Next
End Sub

Par quoi dois-tu, selon toi, remplacer 10 dans limite = 10 pour que cela change de colonne non arrivé à la ligne 10, mais arrivé à la dernière possible ? (je te l'ai dit plus haut)...

________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
0
Pamath1 Messages postés 3 Date d'inscription samedi 2 avril 2016 Statut Membre Dernière intervention 2 avril 2016
2 avril 2016 à 10:34
Bonjour,

Merci beaucoup pour ta réponse et les détails relatifs au code qui permet le passage d'une colonne à une autre. Je viens de tester le code et ça a marché. Je vais l'adapter selon la taille maximale de ma colonne excel.

Merci beaucoup.

Pamath
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
2 avril 2016 à 10:37
Je vais l'adapter selon la taille maximale de ma colonne excel

cette taille maximum est tout simplement la valeur Rows.count

Bon...
N'oublie maintenant pas de cliquer sur le tag RESOLU au niveau de ton tout premier message, pour libérer cette discussion.
0
Pamath1 Messages postés 3 Date d'inscription samedi 2 avril 2016 Statut Membre Dernière intervention 2 avril 2016
2 avril 2016 à 10:52
Merci beaucoup
0
Rejoignez-nous