déplacement vers une autre cellule lorsque celle ci est differente de "vide".

  • Initiateur de la discussion Initiateur de la discussion ruben
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

R

ruben

Guest
Bonjour,

Je suis débutant en VBA et je suis entrain de crée une macro dans laquelle j'ai besoin de changer de cellule lorsque elle est pleine afin de agir sur un autre sub.

Exemple:
Sub dada()
If Range("A1").Value <> "" Then
Range("A2").Select
End If
End Sub

Je ne voie pas d'erreur mais même quand j'isole cette commande sur un fichier excel vierge il ne fonctione pas.

Il ya t'il un autre moyen d'effectuer un déplacement vers une autre cellule lorsque celle-ci est pleine?

Merci Beaucoup
Cordialement
 
Re : déplacement vers une autre cellule lorsque celle ci est differente de "vide".

Bonjour
ça devrait marcher: En lançant votre macro "dada" par menu Outils, Macros, macro...
ou en cliquant sur un bouton de formulaire ou de barre d'outils auquel vous auriez affecté cette macro,
ça devrait sélectionner la cellule A2 si la cellule A1 n'est pas vide ou garder la sélection en cours si elle l'est.
À+
 
Re : déplacement vers une autre cellule lorsque celle ci est differente de "vide".

Bonjour ruben,

Ta macro me semble parfaitement correcte
Si A1 de la feuille active est rempli, ne sélectionne-t-il pas A2 ?

Il ya t'il un autre moyen d'effectuer un déplacement vers une autre cellule lorsque celle-ci est pleine?
Tout dépend pourquoi on sélectionne els cellules
En général, il est inutile de sélectionner les cellules pour agir dessus en VBA...
Donc si tu nous donne plus d'explications sur le but à atteindre, avec des données exemple peut-être, on pourrait sans doute mieux te guider

Edit : bing, Bonjour Bernard
 
Re : déplacement vers une autre cellule lorsque celle ci est differente de "vide".

Merci beaucoup

Le but de mon programme est en case A4 on va scanner un code barre lorsque la case A4 et pleine on va en case A7 pour remplir des données qui change a chaque scanne puis parreil lorsque la case est pleine on va directement sur la case B7 on la remplis puis lorsque l'on apui sur enter le print de la case A4 ce actione.

Je n'arrive pas a déplacer la case A7 sur B7 l'action ne s'effectue pas.

je recopie le programme:

Private Sub Worksheet_Change(ByVal Target As Range) 'defini la case départ et enclenche les autres bouts de programme
If Target.Address = "$A$4" Then '
If Target.Value <> "" Then essai
End If
End Sub

Sub essai()
Range("A7").Select
If Range("A7").Value <> "" Then Range("B7").Select '(voila ce qui ne marche pas)
If Range("B7").Value <> "" Then renvoie: impression
End Sub



Sub impression() 'sub pour imprimer et revenir automatiquement a la case depart
Range("B4").PrintOut ' permet de imprimer seulement si les case sont remplis
Range("A4").Clear
Range("A7").Clear
Range("B7").Clear
Dim revenir
revenir = ActiveCell.Address ' permet de revenir a la même case aprés clear
Range("A4").Select
End Sub


Sub renvoie() ' ce sub correspond a un renvoie des données feuil 1 sur la feuil2.
Dim casefin As Range
Set casefin = Worksheets("Fiche de suivi").Range("A65536").End(xlUp)

casefin.Offset(1, 0).Value = Worksheets("Feuil1").Range("A4")
casefin.Offset(1, 1).Value = Worksheets("Feuil1").Range("A9")
casefin.Offset(1, 2).Value = Worksheets("Feuil1").Range("B9")
casefin.Offset(1, 3).Value = Worksheets("Feuil1").Range("C9")
casefin.Offset(1, 4).Value = Worksheets("Feuil1").Range("D9")
casefin.Offset(1, 5).Value = Worksheets("Feuil1").Range("A7")
casefin.Offset(1, 6).Value = Worksheets("Feuil1").Range("B7")
casefin.Offset(1, 7).Value = Worksheets("Feuil1").Range("E9")
casefin.Offset(1, 8).Value = Worksheets("Feuil1").Range("F9")
casefin.Offset(1, 9).Value = Worksheets("Feuil1").Range("G9")
casefin.Offset(1, 10).Value = Worksheets("Feuil1").Range("E12")
casefin.Offset(1, 11).Value = Worksheets("Feuil1").Range("A12")
casefin.Offset(1, 12).Value = Worksheets("Feuil1").Range("B12")
casefin.Offset(1, 13).Value = Worksheets("Feuil1").Range("C12")
casefin.Offset(1, 14).Value = Worksheets("Feuil1").Range("D12")
End Sub

Merci beaucop pour votre aide
 
Re : déplacement vers une autre cellule lorsque celle ci est differente de "vide".

Je ne puis que vous conseiller de mettre un point d'arrêt sur la première instruction de la Workseet_Change et mettre des espions partout et dérouler en pas à pas. Ne m'aurait pas dérangé de le faire moi même avec un fichier fourni.
 
Re : déplacement vers une autre cellule lorsque celle ci est differente de "vide".

Re
j'ai ajouter le fichier.
L'interface feuil1 devrait recevoir le code barre(A4) decendre en (A7) pour inserer les Amperes (enter) puis selectioner (B7) pour que l'on ecrive les Volts et lorsque l'on apuie sur ENTER l'impresion commence et renitialise les cases au début.

Le probleme rest le meme.

Merci beaucoup
 

Pièces jointes

Re : déplacement vers une autre cellule lorsque celle ci est differente de "vide".

Ba A4 est ma valeur principal (le code barre) si on insere un code barre A4<>"" alors je descent remplir les autres A7, B7 et seulment lorsque je viens de finir de ecrire B7 j'imprime.

Vous pensez que je doit prendre le probleme d'un autre angle?
 
Re : déplacement vers une autre cellule lorsque celle ci est differente de "vide".

Oui: il faut aussi tester dans la Worksheet_Change si la Target est la A7 et alors sélectionner la B7
Et d'ailleurs aussi tester si c'est la B7 et alors imprimer.
Ou alors ne rien tester et toujours selectionner la première des cellules vide parmis A4, A7 puis B7 je ne sais pas moi. Actuellement il ne se passe rien si la cellule modifiée est autre que la A4.
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
879
Retour