Décaler d une ligne a l autre VBA
Fermé
xerox
-
14 juin 2010 à 09:37
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 - 14 juin 2010 à 23:43
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 - 14 juin 2010 à 23:43
A voir également:
- Décaler d une ligne a l autre VBA
- Aller à la ligne excel - Guide
- Partager photos en ligne - Guide
- Vente en ligne particulier - Guide
- Apparaitre hors ligne instagram - Guide
- Décaler colonne excel - Guide
3 réponses
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
14 juin 2010 à 11:03
14 juin 2010 à 11:03
Salut,
pour le Textbox par exemple et faire simple, ce code décalera indéfiniment vers la droite la saisie dans le textbox, à adapter pour les autres contrôles
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If [A2] = "" Then
[A2] = TextBox1
Else
[A2].End(xlToLeft).Offset(0, 1) = TextBox1
End If
End Sub
si tu veux simplement déplacer la deuxième saisie en B2 si A2 est renseignée, remplace la ligne [A2].End(xlToLeft).Offset(0, 1) = TextBox1
par [B2] = TextBox1
pour le Textbox par exemple et faire simple, ce code décalera indéfiniment vers la droite la saisie dans le textbox, à adapter pour les autres contrôles
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If [A2] = "" Then
[A2] = TextBox1
Else
[A2].End(xlToLeft).Offset(0, 1) = TextBox1
End If
End Sub
si tu veux simplement déplacer la deuxième saisie en B2 si A2 est renseignée, remplace la ligne [A2].End(xlToLeft).Offset(0, 1) = TextBox1
par [B2] = TextBox1
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
Modifié par Mike-31 le 14/06/2010 à 11:46
Modifié par Mike-31 le 14/06/2010 à 11:46
Salut Dodo,
Je viens de m'appercevoir d'une erreur de saisie de mon code, pour avoir un décale indéfini mieux vaut partir de X2 par exemple et non de A2 qui compliquerait le code et rechercher la première cellule non vide en partant de la droite
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If [A2] = "" Then
[A2] = TextBox1
Else
[X2].End(xlToLeft).Offset(0, 1) = TextBox1
End If
End Sub
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Je viens de m'appercevoir d'une erreur de saisie de mon code, pour avoir un décale indéfini mieux vaut partir de X2 par exemple et non de A2 qui compliquerait le code et rechercher la première cellule non vide en partant de la droite
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If [A2] = "" Then
[A2] = TextBox1
Else
[X2].End(xlToLeft).Offset(0, 1) = TextBox1
End If
End Sub
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
Modifié par Mike-31 le 14/06/2010 à 16:40
Modifié par Mike-31 le 14/06/2010 à 16:40
Re,
Il n'y a aucune raison sur ce code qui dit
If [A2] = "" Then (si A2 est vide alors
[A2] = TextBox1 (A2 = textbox)
Else (sinon)
[X2].End(xlToLeft).Offset(0, 1) = TextBox1 (on place la sélection en X2 pour s'arrêter sur la première cellule vide rencontrée après A2 ou B2 si A2 n'est pas vide ou C2 si B2 n'est pas vide etc ...)
Il est possible que le code textbox1 ne corresponde pas à ton textbox qui est 2, 3 ou plus !
si tu ne trouves pas je te ferai un petit montage
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Il n'y a aucune raison sur ce code qui dit
If [A2] = "" Then (si A2 est vide alors
[A2] = TextBox1 (A2 = textbox)
Else (sinon)
[X2].End(xlToLeft).Offset(0, 1) = TextBox1 (on place la sélection en X2 pour s'arrêter sur la première cellule vide rencontrée après A2 ou B2 si A2 n'est pas vide ou C2 si B2 n'est pas vide etc ...)
Il est possible que le code textbox1 ne corresponde pas à ton textbox qui est 2, 3 ou plus !
si tu ne trouves pas je te ferai un petit montage
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 249
14 juin 2010 à 19:49
14 juin 2010 à 19:49
Bonjour mike,
A lire la demande je me demande s'il ne faut pas plutôt insérer une cellule en A2 pour décaler les saisies précédentes vers la droite et mettre la plus récente toujours en A2 (?)
Et je trouve genant la différence entre le titre (Décaler d une ligne...) et l'exemple qui décale d'une colonne....
Ca serait bien que le demandeur précise ces points
eric
A lire la demande je me demande s'il ne faut pas plutôt insérer une cellule en A2 pour décaler les saisies précédentes vers la droite et mettre la plus récente toujours en A2 (?)
Et je trouve genant la différence entre le titre (Décaler d une ligne...) et l'exemple qui décale d'une colonne....
Ca serait bien que le demandeur précise ces points
eric
dobo69
Messages postés
1587
Date d'inscription
vendredi 24 juillet 2009
Statut
Membre
Dernière intervention
30 juin 2013
827
Modifié par dobo69 le 14/06/2010 à 20:22
Modifié par dobo69 le 14/06/2010 à 20:22
bonsoir eriiic et mike,
c'est à priori ca le sujet mais xerox ne sait pas trop ou il en est. Perso j'ai jeté l'éponge sur l'autre topic qu'il avait précédemment ouvert. Je sais que je ne suis pas une flèche en VBA mais tout de meme... : contradictions sur contradictions et pas d'explications claires sur le pourquoi du comment... Donc ne perdez pas trop votre temps...
https://forums.commentcamarche.net/forum/affich-18134714-decaler-d-une-ligne-a-l-autre-vba#2
c'est à priori ca le sujet mais xerox ne sait pas trop ou il en est. Perso j'ai jeté l'éponge sur l'autre topic qu'il avait précédemment ouvert. Je sais que je ne suis pas une flèche en VBA mais tout de meme... : contradictions sur contradictions et pas d'explications claires sur le pourquoi du comment... Donc ne perdez pas trop votre temps...
https://forums.commentcamarche.net/forum/affich-18134714-decaler-d-une-ligne-a-l-autre-vba#2
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 249
Modifié par eriiic le 14/06/2010 à 22:37
Modifié par eriiic le 14/06/2010 à 22:37
Dobo,
Ah oui !!! quand même...
Mike,
Tu devrais suivre le lien fourni par dobo à 11:21, c'est très instructif
xerox,
C'est gentil de m'avoir adressé ta réponse mais je ne faisais que relever une différence de lecture entre moi et mike.
Pour ma part je ne participerais pas plus à ce sujet, je privilégie les demandeurs clairs et précis (tu as de très gros progrès à faire), de préférence inscrits sur le site.
De plus je fuis comme la peste ceux qui comme toi postent en double (sans prévenir dans un post ou l'autre) dans un manque total de respect des intervenants, et leur gâchent le temps.
eric
PS: chapeau pour la patience de certains...
Ah oui !!! quand même...
Mike,
Tu devrais suivre le lien fourni par dobo à 11:21, c'est très instructif
xerox,
C'est gentil de m'avoir adressé ta réponse mais je ne faisais que relever une différence de lecture entre moi et mike.
Pour ma part je ne participerais pas plus à ce sujet, je privilégie les demandeurs clairs et précis (tu as de très gros progrès à faire), de préférence inscrits sur le site.
De plus je fuis comme la peste ceux qui comme toi postent en double (sans prévenir dans un post ou l'autre) dans un manque total de respect des intervenants, et leur gâchent le temps.
eric
PS: chapeau pour la patience de certains...
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
14 juin 2010 à 23:43
14 juin 2010 à 23:43
Re,
Pas mal d'occupation, j'ai du mal à suivre les discussions. Lancer plusieurs discussions sur le même sujet et avec des pseudos multiples est contraire à la charte c'est jouer des intervenants bénévoles qui concentrent leurs efforts sur un sujet alors que des membres respectueux attendent une réponse.
Pour ma part mon intervention s'arrêtera là
Mike-31
Pas mal d'occupation, j'ai du mal à suivre les discussions. Lancer plusieurs discussions sur le même sujet et avec des pseudos multiples est contraire à la charte c'est jouer des intervenants bénévoles qui concentrent leurs efforts sur un sujet alors que des membres respectueux attendent une réponse.
Pour ma part mon intervention s'arrêtera là
Mike-31
14 juin 2010 à 11:21
En fait cela se passe par là... :
https://forums.commentcamarche.net/forum/affich-18103293-vba-rengement-sur-feuille
j'ai proposé qqchose mais qui très certainement perfectible vu mon niveau en VBA....