Changement de colonne Excel [Résolu]

Pamath1 3 Messages postés samedi 2 avril 2016Date d'inscription 2 avril 2016 Dernière intervention - 2 avril 2016 à 03:29 - Dernière réponse : Pamath1 3 Messages postés samedi 2 avril 2016Date d'inscription 2 avril 2016 Dernière intervention
- 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
Afficher la suite 

4 réponses

Répondre au sujet
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 11 avril 2018 Dernière intervention - Modifié par ucfoutu le 2/04/2016 à 08:10
0
Utile
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.
Commenter la réponse de ucfoutu
Pamath1 3 Messages postés samedi 2 avril 2016Date d'inscription 2 avril 2016 Dernière intervention - 2 avril 2016 à 10:34
0
Utile
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
Commenter la réponse de Pamath1
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 11 avril 2018 Dernière intervention - 2 avril 2016 à 10:37
0
Utile
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.
Commenter la réponse de ucfoutu
Pamath1 3 Messages postés samedi 2 avril 2016Date d'inscription 2 avril 2016 Dernière intervention - 2 avril 2016 à 10:52
0
Utile
Merci beaucoup
Commenter la réponse de Pamath1

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.